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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.3.0
2
+ * UI Style Kit CSS v2.4.0
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -14,12 +14,12 @@
14
14
 
15
15
  @layer ui-style-kit.theme_colors {
16
16
  /* Shared RGB roles keep visual presets focused on layout, texture, and component treatment. */
17
- :where([data-ui][data-theme][data-mode="light"]) {
17
+ :where([data-ui][data-mode="light"]) {
18
18
  --usk-border-text-mix: 45%;
19
19
  --usk-border-min-alpha: 1;
20
20
  }
21
21
 
22
- :where([data-ui][data-theme][data-mode="dark"], [data-ui][data-theme][data-mode="contrast"]) {
22
+ :where([data-ui][data-mode="dark"], [data-ui][data-mode="contrast"]) {
23
23
  --usk-border-text-mix: 0%;
24
24
  --usk-border-min-alpha: 0;
25
25
  }
@@ -1597,7 +1597,8 @@
1597
1597
  ========================================================= */
1598
1598
 
1599
1599
  @layer ui-style-kit.native_elements {
1600
- [data-ui][data-theme][data-mode] {
1600
+ [data-ui][data-mode] {
1601
+ --usk-native-bg: rgb(var(--usk-bg-rgb));
1601
1602
  --usk-native-surface: rgb(var(--usk-surface-rgb));
1602
1603
  --usk-native-surface-strong: rgb(var(--usk-surface-strong-rgb));
1603
1604
  --usk-native-surface-soft: rgb(var(--usk-surface-soft-rgb));
@@ -1634,6 +1635,52 @@
1634
1635
  --usk-native-thumb: var(--usk-native-surface-strong);
1635
1636
  --usk-native-thumb-border: var(--usk-native-primary);
1636
1637
  --usk-native-indicator: var(--usk-native-primary);
1638
+ --usk-native-choice-size: 1.5rem;
1639
+ --usk-native-choice-background: var(--usk-native-control-bg);
1640
+ --usk-native-choice-border: var(--usk-native-border-width) solid var(--usk-native-border);
1641
+ --usk-native-checkbox-radius: .3rem;
1642
+ --usk-native-radio-radius: 50%;
1643
+ --usk-native-choice-shadow: none;
1644
+ --usk-native-choice-checked-background: var(--usk-native-primary);
1645
+ --usk-native-choice-mark-color: var(--usk-native-on-primary);
1646
+ --usk-native-select-indicator-image: linear-gradient(45deg, transparent 50%, var(--usk-native-indicator) 50%), linear-gradient(135deg, var(--usk-native-indicator) 50%, transparent 50%);
1647
+ --usk-native-select-indicator-size: .42rem .42rem, .42rem .42rem;
1648
+ --usk-native-select-indicator-position: calc(100% - 1.15rem) 50%, calc(100% - .85rem) 50%;
1649
+ --usk-native-select-padding-inline-end: 2.5rem;
1650
+ --usk-native-range-track-size: .45rem;
1651
+ --usk-native-range-track-background: var(--usk-native-track);
1652
+ --usk-native-range-track-border: 0 solid transparent;
1653
+ --usk-native-range-track-radius: 999px;
1654
+ --usk-native-range-track-shadow: none;
1655
+ --usk-native-range-progress-background: var(--usk-native-track-fill);
1656
+ --usk-native-range-thumb-size: 1.2rem;
1657
+ --usk-native-range-thumb-background: var(--usk-native-thumb);
1658
+ --usk-native-range-thumb-border: var(--usk-native-border-width) solid var(--usk-native-thumb-border);
1659
+ --usk-native-range-thumb-radius: 50%;
1660
+ --usk-native-range-thumb-shadow: var(--usk-native-shadow);
1661
+ --usk-native-progress-size: .9rem;
1662
+ --usk-native-progress-track-background: var(--usk-native-track);
1663
+ --usk-native-progress-track-border: 0 solid transparent;
1664
+ --usk-native-progress-track-radius: 999px;
1665
+ --usk-native-progress-track-shadow: none;
1666
+ --usk-native-progress-value-background: var(--usk-native-track-fill);
1667
+ --usk-native-progress-value-radius: inherit;
1668
+ --usk-native-progress-value-shadow: none;
1669
+ --usk-native-meter-optimum-background: var(--usk-native-success);
1670
+ --usk-native-meter-suboptimum-background: var(--usk-native-warning);
1671
+ --usk-native-meter-critical-background: var(--usk-native-danger);
1672
+ --usk-native-file-button-background: var(--usk-native-primary);
1673
+ --usk-native-file-button-border: var(--usk-native-border-width) solid var(--usk-native-primary);
1674
+ --usk-native-file-button-radius: var(--usk-native-radius-sm);
1675
+ --usk-native-file-button-shadow: var(--usk-native-shadow);
1676
+ --usk-native-color-swatch-border: 0 solid transparent;
1677
+ --usk-native-color-swatch-radius: calc(var(--usk-native-radius-sm) / 1.5);
1678
+ --usk-native-indicator-opacity: .78;
1679
+ --usk-native-indicator-filter: none;
1680
+ --usk-native-scrollbar-size: .75rem;
1681
+ --usk-native-scrollbar-track: var(--usk-native-track);
1682
+ --usk-native-scrollbar-thumb: var(--usk-native-thumb-border);
1683
+ --usk-native-scrollbar-radius: 999px;
1637
1684
  --usk-native-shadow: none;
1638
1685
  --usk-native-shadow-md: var(--usk-native-shadow);
1639
1686
  --usk-native-focus-ring: 0 0 0 3px rgb(var(--usk-focus-rgb) / .28);
@@ -1641,7 +1688,7 @@
1641
1688
  --usk-motion-easing: cubic-bezier(0.2, 0, 0.2, 1);
1642
1689
 
1643
1690
  /* Shared semantic values are fully typed so optional companion and third-party consumers can use them directly. */
1644
- --ui-color-bg: rgb(var(--usk-bg-rgb));
1691
+ --ui-color-bg: var(--usk-native-bg);
1645
1692
  --ui-color-surface: var(--usk-native-surface-strong);
1646
1693
  --ui-color-text: var(--usk-native-text);
1647
1694
  --ui-color-muted: var(--usk-native-text-muted);
@@ -1655,7 +1702,7 @@
1655
1702
  --ui-motion-easing: var(--usk-motion-easing);
1656
1703
  }
1657
1704
 
1658
- [data-ui][data-theme][data-mode] :where(h1, h2, h3, h4, h5, h6) {
1705
+ [data-ui][data-mode] :where(h1, h2, h3, h4, h5, h6) {
1659
1706
  color: var(--usk-native-text);
1660
1707
  font-family: var(--usk-native-font-heading);
1661
1708
  line-height: 1.15;
@@ -1663,42 +1710,42 @@
1663
1710
  }
1664
1711
 
1665
1712
  @supports (text-wrap: balance) {
1666
- [data-ui][data-theme][data-mode] :where(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
1713
+ [data-ui][data-mode] :where(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
1667
1714
  }
1668
1715
 
1669
- [data-ui][data-theme][data-mode] :where(hgroup) {
1716
+ [data-ui][data-mode] :where(hgroup) {
1670
1717
  display: grid;
1671
1718
  gap: .35rem;
1672
1719
  margin-block: 0 1rem;
1673
1720
  }
1674
1721
 
1675
- [data-ui][data-theme][data-mode] :where(h1) { font-size: clamp(2rem, 5vw, 3.5rem); }
1676
- [data-ui][data-theme][data-mode] :where(h2) { font-size: clamp(1.55rem, 3vw, 2.35rem); }
1677
- [data-ui][data-theme][data-mode] :where(h3) { font-size: clamp(1.25rem, 2vw, 1.65rem); }
1722
+ [data-ui][data-mode] :where(h1) { font-size: clamp(2rem, 5vw, 3.5rem); }
1723
+ [data-ui][data-mode] :where(h2) { font-size: clamp(1.55rem, 3vw, 2.35rem); }
1724
+ [data-ui][data-mode] :where(h3) { font-size: clamp(1.25rem, 2vw, 1.65rem); }
1678
1725
 
1679
- [data-ui][data-theme][data-mode] :where(p) {
1726
+ [data-ui][data-mode] :where(p) {
1680
1727
  margin: 0 0 1rem;
1681
1728
  color: var(--usk-native-text-muted);
1682
1729
  line-height: 1.7;
1683
1730
  }
1684
1731
 
1685
- [data-ui][data-theme][data-mode] :where(a) {
1732
+ [data-ui][data-mode] :where(a) {
1686
1733
  color: var(--usk-native-link);
1687
1734
  text-decoration-thickness: .08em;
1688
1735
  text-underline-offset: .18em;
1689
1736
  }
1690
1737
 
1691
- [data-ui][data-theme][data-mode] :where(a:hover) { color: var(--usk-native-primary-hover); }
1738
+ [data-ui][data-mode] :where(a:hover) { color: var(--usk-native-primary-hover); }
1692
1739
 
1693
- [data-ui][data-theme][data-mode] :where(ul, ol, menu) {
1740
+ [data-ui][data-mode] :where(ul, ol, menu) {
1694
1741
  margin: 0 0 1rem;
1695
1742
  padding-left: 1.35rem;
1696
1743
  color: var(--usk-native-text-muted);
1697
1744
  }
1698
1745
 
1699
- [data-ui][data-theme][data-mode] :where(li) { margin-block: .25rem; }
1746
+ [data-ui][data-mode] :where(li) { margin-block: .25rem; }
1700
1747
 
1701
- [data-ui][data-theme][data-mode] :where(blockquote) {
1748
+ [data-ui][data-mode] :where(blockquote) {
1702
1749
  margin: 1.25rem 0;
1703
1750
  padding: 1rem 1.25rem;
1704
1751
  color: var(--usk-native-text);
@@ -1707,7 +1754,7 @@
1707
1754
  border-radius: var(--usk-native-radius);
1708
1755
  }
1709
1756
 
1710
- [data-ui][data-theme][data-mode] :where(code, kbd, samp) {
1757
+ [data-ui][data-mode] :where(code, kbd, samp) {
1711
1758
  padding: .15em .35em;
1712
1759
  color: var(--usk-native-text);
1713
1760
  background: var(--usk-native-surface-soft);
@@ -1717,7 +1764,7 @@
1717
1764
  font-size: .92em;
1718
1765
  }
1719
1766
 
1720
- [data-ui][data-theme][data-mode] :where(pre) {
1767
+ [data-ui][data-mode] :where(pre) {
1721
1768
  overflow: auto;
1722
1769
  margin: 1rem 0;
1723
1770
  padding: 1rem;
@@ -1727,57 +1774,88 @@
1727
1774
  border-radius: var(--usk-native-radius);
1728
1775
  }
1729
1776
 
1730
- [data-ui][data-theme][data-mode] :where(pre code) {
1777
+ [data-ui][data-mode] :where(pre code) {
1731
1778
  display: block;
1732
1779
  padding: 0;
1733
1780
  background: transparent;
1734
1781
  border: 0;
1735
1782
  }
1736
1783
 
1737
- [data-ui][data-theme][data-mode] :where(hr) {
1784
+ [data-ui][data-mode] :where(hr) {
1738
1785
  height: 1px;
1739
1786
  margin: 2rem 0;
1740
1787
  background: var(--usk-native-border);
1741
1788
  border: 0;
1742
1789
  }
1743
1790
 
1744
- [data-ui][data-theme][data-mode] :where(mark) {
1791
+ [data-ui][data-mode] :where(mark) {
1745
1792
  padding-inline: .15em;
1746
1793
  color: var(--usk-native-text);
1747
1794
  background: rgb(var(--usk-warning-rgb) / .32);
1748
1795
  border-radius: .2em;
1749
1796
  }
1750
1797
 
1751
- [data-ui][data-theme][data-mode] :where(small, sub, sup, rt, rp) { color: var(--usk-native-text-muted); }
1752
- [data-ui][data-theme][data-mode] :where(rt, rp) { font-size: .72em; }
1798
+ [data-ui][data-mode] :where(small, sub, sup, rt, rp) { color: var(--usk-native-text-muted); }
1799
+ [data-ui][data-mode] :where(rt, rp) { font-size: .72em; }
1753
1800
 
1754
- [data-ui][data-theme][data-mode] :where(abbr[title]) {
1801
+ [data-ui][data-mode] :where(abbr[title]) {
1755
1802
  text-decoration: underline dotted var(--usk-native-primary);
1756
1803
  text-underline-offset: .18em;
1757
1804
  cursor: help;
1758
1805
  }
1759
1806
 
1760
- [data-ui][data-theme][data-mode] :where(img, picture, video, canvas, svg, iframe, audio, object, embed, math) {
1807
+ [data-ui][data-mode] :where(img, picture, video, canvas, svg, iframe, audio, object, embed, math) {
1761
1808
  max-width: 100%;
1762
1809
  }
1763
1810
 
1764
- [data-ui][data-theme][data-mode] :where(img, video, canvas, svg, iframe) { height: auto; }
1811
+ [data-ui][data-mode] :where(img, video, canvas, svg, iframe) { height: auto; }
1765
1812
 
1766
- [data-ui][data-theme][data-mode] :where(figure) { margin: 1.25rem 0; }
1813
+ /** Native playback retains browser accessibility while inheriting preset material and geometry. */
1814
+ [data-ui][data-mode] audio[controls] {
1815
+ display: block;
1816
+ box-sizing: border-box;
1817
+ inline-size: 100%;
1818
+ min-inline-size: 0;
1819
+ block-size: 60px;
1820
+ padding: 3px;
1821
+ background: var(--usk-native-control-bg);
1822
+ color: var(--usk-native-text);
1823
+ border: var(--usk-native-border-width) solid var(--usk-native-border);
1824
+ border-radius: var(--usk-native-radius);
1825
+ box-shadow: var(--usk-native-shadow);
1826
+ accent-color: var(--usk-native-primary);
1827
+ color-scheme: light;
1828
+ }
1829
+ [data-ui][data-mode="dark"] audio[controls],
1830
+ [data-ui][data-mode="contrast"] audio[controls] { color-scheme: dark; }
1831
+ [data-ui][data-mode] audio[controls]::-webkit-media-controls-enclosure {
1832
+ border-radius: var(--usk-native-radius);
1833
+ background: transparent;
1834
+ }
1835
+ [data-ui][data-mode] audio[controls]::-webkit-media-controls-panel {
1836
+ background: var(--usk-native-control-bg);
1837
+ color: var(--usk-native-text);
1838
+ }
1839
+ [data-ui][data-mode] audio[controls]:focus-visible {
1840
+ outline: 2px solid var(--usk-native-focus);
1841
+ outline-offset: 2px;
1842
+ }
1843
+
1844
+ [data-ui][data-mode] :where(figure) { margin: 1.25rem 0; }
1767
1845
 
1768
- [data-ui][data-theme][data-mode] :where(figcaption) {
1846
+ [data-ui][data-mode] :where(figcaption) {
1769
1847
  margin-top: .5rem;
1770
1848
  color: var(--usk-native-text-muted);
1771
1849
  font-size: .9rem;
1772
1850
  }
1773
1851
 
1774
- [data-ui][data-theme][data-mode] :where(form) {
1852
+ [data-ui][data-mode] :where(form) {
1775
1853
  display: grid;
1776
1854
  gap: var(--usk-native-field-gap);
1777
1855
  min-inline-size: 0;
1778
1856
  }
1779
1857
 
1780
- [data-ui][data-theme][data-mode] :where(fieldset) {
1858
+ [data-ui][data-mode] :where(fieldset) {
1781
1859
  display: grid;
1782
1860
  gap: .9rem;
1783
1861
  min-inline-size: 0;
@@ -1788,30 +1866,30 @@
1788
1866
  border-radius: var(--usk-native-radius);
1789
1867
  }
1790
1868
 
1791
- [data-ui][data-theme][data-mode] :where(legend) {
1869
+ [data-ui][data-mode] :where(legend) {
1792
1870
  padding-inline: .35rem;
1793
1871
  color: var(--usk-native-text);
1794
1872
  font-weight: 900;
1795
1873
  }
1796
1874
 
1797
- [data-ui][data-theme][data-mode] :where(label) {
1875
+ [data-ui][data-mode] :where(label) {
1798
1876
  color: var(--usk-native-text);
1799
1877
  font-weight: 750;
1800
1878
  }
1801
1879
 
1802
- [data-ui][data-theme][data-mode] :where(label:has(input), label:has(select), label:has(textarea)) {
1880
+ [data-ui][data-mode] :where(label:has(input), label:has(select), label:has(textarea)) {
1803
1881
  display: grid;
1804
1882
  gap: var(--usk-native-field-gap);
1805
1883
  align-content: start;
1806
1884
  }
1807
1885
 
1808
- [data-ui][data-theme][data-mode] :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) {
1886
+ [data-ui][data-mode] :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) {
1809
1887
  display: inline-flex;
1810
1888
  gap: var(--usk-native-field-gap);
1811
1889
  align-items: center;
1812
1890
  }
1813
1891
 
1814
- [data-ui][data-theme][data-mode] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea, select) {
1892
+ [data-ui][data-mode] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea, select) {
1815
1893
  width: 100%;
1816
1894
  min-block-size: var(--usk-native-control-min-block-size);
1817
1895
  padding: var(--usk-native-control-padding-block) var(--usk-native-control-padding-inline);
@@ -1822,24 +1900,44 @@
1822
1900
  font: inherit;
1823
1901
  }
1824
1902
 
1825
- [data-ui][data-theme][data-mode] :where(input, textarea, select, button) {
1903
+ [data-ui][data-mode] :where(input, textarea, select, button) {
1826
1904
  color-scheme: inherit;
1827
1905
  accent-color: var(--usk-native-primary);
1828
1906
  }
1829
1907
 
1830
- [data-ui][data-theme][data-mode] :where(input, textarea)::placeholder {
1908
+ [data-ui][data-mode] :where(input, textarea)::placeholder {
1831
1909
  color: var(--usk-native-text-muted);
1832
1910
  opacity: .78;
1833
1911
  }
1834
1912
 
1835
- [data-ui][data-theme][data-mode] :where(textarea) {
1913
+ [data-ui][data-mode] :where(textarea) {
1836
1914
  min-height: 7rem;
1837
1915
  resize: vertical;
1838
1916
  }
1839
1917
 
1840
- [data-ui][data-theme][data-mode] :where(input, textarea, select, button) { font: inherit; }
1918
+ [data-ui][data-mode] :where(input, textarea, select, button) { font: inherit; }
1919
+
1920
+ [data-ui][data-mode] :where(select:not([multiple])) {
1921
+ -webkit-appearance: none;
1922
+ appearance: none;
1923
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
1924
+ background-image: var(--usk-native-select-indicator-image);
1925
+ background-repeat: no-repeat;
1926
+ background-position: var(--usk-native-select-indicator-position);
1927
+ background-size: var(--usk-native-select-indicator-size);
1928
+ }
1929
+
1930
+ [data-ui][data-mode] :where(select[multiple]) {
1931
+ padding-inline-end: var(--usk-native-control-padding-inline);
1932
+ background-image: none;
1933
+ }
1934
+
1935
+ [dir="rtl"] [data-ui][data-mode] :where(select:not([multiple])),
1936
+ [data-ui][data-mode][dir="rtl"] :where(select:not([multiple])) {
1937
+ --usk-native-select-indicator-position: 1.15rem 50%, .85rem 50%;
1938
+ }
1841
1939
 
1842
- [data-ui][data-theme][data-mode] :where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
1940
+ [data-ui][data-mode] :where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
1843
1941
  -webkit-appearance: none;
1844
1942
  appearance: none;
1845
1943
  box-sizing: border-box;
@@ -1848,7 +1946,7 @@
1848
1946
  font: inherit;
1849
1947
  }
1850
1948
 
1851
- [data-ui][data-theme][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
1949
+ [data-ui][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
1852
1950
  color: var(--usk-native-on-primary);
1853
1951
  background: var(--usk-native-primary);
1854
1952
  border: var(--usk-native-border-width) solid var(--usk-native-primary);
@@ -1859,29 +1957,56 @@
1859
1957
  }
1860
1958
 
1861
1959
  /* Busy controls reserve a stable lane for the preset-owned spinner glyph. */
1862
- [data-ui][data-theme][data-mode] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]) {
1960
+ [data-ui][data-mode] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]) {
1863
1961
  display: inline-flex;
1864
1962
  align-items: center;
1865
1963
  justify-content: center;
1866
1964
  gap: .55rem;
1867
1965
  }
1868
1966
 
1869
- [data-ui][data-theme][data-mode] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
1967
+ [data-ui][data-mode] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
1870
1968
  flex: 0 0 1em;
1871
1969
  }
1872
1970
 
1873
- [data-ui][data-theme][data-mode] :where(button:not([class]):hover, input[type="button"]:not([class]):hover, input[type="submit"]:not([class]):hover, input[type="reset"]:not([class]):hover) {
1971
+ [data-ui][data-mode] :where(button:not([class]):hover, input[type="button"]:not([class]):hover, input[type="submit"]:not([class]):hover, input[type="reset"]:not([class]):hover) {
1874
1972
  background: var(--usk-native-primary-hover);
1875
1973
  border-color: var(--usk-native-primary-hover);
1876
1974
  }
1877
1975
 
1878
- [data-ui][data-theme][data-mode] :where(input[type="checkbox"], input[type="radio"]) {
1879
- inline-size: 1.5rem;
1880
- block-size: 1.5rem;
1976
+ [data-ui][data-mode] :where(input[type="checkbox"], input[type="radio"]) {
1977
+ -webkit-appearance: none;
1978
+ appearance: none;
1979
+ inline-size: var(--usk-native-choice-size);
1980
+ block-size: var(--usk-native-choice-size);
1981
+ background: var(--usk-native-choice-background);
1982
+ border: var(--usk-native-choice-border);
1983
+ box-shadow: var(--usk-native-choice-shadow);
1881
1984
  accent-color: var(--usk-native-primary);
1882
1985
  }
1883
1986
 
1884
- [data-ui][data-theme][data-mode] :where(input[type="range"]) {
1987
+ [data-ui][data-mode] :where(input[type="checkbox"]) { border-radius: var(--usk-native-checkbox-radius); }
1988
+ [data-ui][data-mode] :where(input[type="radio"]) { border-radius: var(--usk-native-radio-radius); }
1989
+
1990
+ [data-ui][data-mode] :where(input[type="checkbox"]:checked) {
1991
+ background-color: var(--usk-native-choice-checked-background);
1992
+ background-image: linear-gradient(135deg, transparent 42%, var(--usk-native-choice-mark-color) 42% 56%, transparent 56%), linear-gradient(45deg, transparent 54%, var(--usk-native-choice-mark-color) 54% 68%, transparent 68%);
1993
+ }
1994
+
1995
+ [data-ui][data-mode] :where(input[type="checkbox"]:hover:not(:disabled), input[type="radio"]:hover:not(:disabled)) {
1996
+ border-color: var(--usk-native-primary);
1997
+ filter: brightness(1.04);
1998
+ }
1999
+
2000
+ [data-ui][data-mode] :where(input[type="checkbox"]:active:not(:disabled), input[type="radio"]:active:not(:disabled)) {
2001
+ filter: brightness(.94);
2002
+ transform: scale(.94);
2003
+ }
2004
+
2005
+ [data-ui][data-mode] :where(input[type="radio"]:checked) {
2006
+ background: radial-gradient(circle, var(--usk-native-choice-mark-color) 0 31%, transparent 34%), var(--usk-native-choice-checked-background);
2007
+ }
2008
+
2009
+ [data-ui][data-mode] :where(input[type="range"]) {
1885
2010
  -webkit-appearance: none;
1886
2011
  appearance: none;
1887
2012
  width: 100%;
@@ -1890,40 +2015,50 @@
1890
2015
  accent-color: var(--usk-native-primary);
1891
2016
  }
1892
2017
 
1893
- [data-ui][data-theme][data-mode] :where(input[type="range"])::-webkit-slider-runnable-track {
1894
- block-size: .45rem;
1895
- background: var(--usk-native-track);
1896
- border-radius: 999px;
2018
+ [data-ui][data-mode] :where(input[type="range"])::-webkit-slider-runnable-track {
2019
+ block-size: var(--usk-native-range-track-size);
2020
+ background: var(--usk-native-range-track-background);
2021
+ border: var(--usk-native-range-track-border);
2022
+ border-radius: var(--usk-native-range-track-radius);
2023
+ box-shadow: var(--usk-native-range-track-shadow);
1897
2024
  }
1898
2025
 
1899
- [data-ui][data-theme][data-mode] :where(input[type="range"])::-moz-range-track {
1900
- block-size: .45rem;
1901
- background: var(--usk-native-track);
1902
- border-radius: 999px;
2026
+ [data-ui][data-mode] :where(input[type="range"])::-moz-range-track {
2027
+ block-size: var(--usk-native-range-track-size);
2028
+ background: var(--usk-native-range-track-background);
2029
+ border: var(--usk-native-range-track-border);
2030
+ border-radius: var(--usk-native-range-track-radius);
2031
+ box-shadow: var(--usk-native-range-track-shadow);
2032
+ }
2033
+
2034
+ [data-ui][data-mode] :where(input[type="range"])::-moz-range-progress {
2035
+ block-size: var(--usk-native-range-track-size);
2036
+ background: var(--usk-native-range-progress-background);
2037
+ border-radius: var(--usk-native-range-track-radius);
1903
2038
  }
1904
2039
 
1905
- [data-ui][data-theme][data-mode] :where(input[type="range"])::-webkit-slider-thumb {
2040
+ [data-ui][data-mode] :where(input[type="range"])::-webkit-slider-thumb {
1906
2041
  -webkit-appearance: none;
1907
2042
  appearance: none;
1908
- inline-size: 1.2rem;
1909
- block-size: 1.2rem;
1910
- margin-block-start: -.38rem;
1911
- background: var(--usk-native-thumb);
1912
- border: var(--usk-native-border-width) solid var(--usk-native-thumb-border);
1913
- border-radius: 999px;
1914
- box-shadow: var(--usk-native-shadow);
2043
+ inline-size: var(--usk-native-range-thumb-size);
2044
+ block-size: var(--usk-native-range-thumb-size);
2045
+ margin-block-start: calc((var(--usk-native-range-track-size) - var(--usk-native-range-thumb-size)) / 2);
2046
+ background: var(--usk-native-range-thumb-background);
2047
+ border: var(--usk-native-range-thumb-border);
2048
+ border-radius: var(--usk-native-range-thumb-radius);
2049
+ box-shadow: var(--usk-native-range-thumb-shadow);
1915
2050
  }
1916
2051
 
1917
- [data-ui][data-theme][data-mode] :where(input[type="range"])::-moz-range-thumb {
1918
- inline-size: 1.2rem;
1919
- block-size: 1.2rem;
1920
- background: var(--usk-native-thumb);
1921
- border: var(--usk-native-border-width) solid var(--usk-native-thumb-border);
1922
- border-radius: 999px;
1923
- box-shadow: var(--usk-native-shadow);
2052
+ [data-ui][data-mode] :where(input[type="range"])::-moz-range-thumb {
2053
+ inline-size: var(--usk-native-range-thumb-size);
2054
+ block-size: var(--usk-native-range-thumb-size);
2055
+ background: var(--usk-native-range-thumb-background);
2056
+ border: var(--usk-native-range-thumb-border);
2057
+ border-radius: var(--usk-native-range-thumb-radius);
2058
+ box-shadow: var(--usk-native-range-thumb-shadow);
1924
2059
  }
1925
2060
 
1926
- [data-ui][data-theme][data-mode] :where(input[type="color"]) {
2061
+ [data-ui][data-mode] :where(input[type="color"]) {
1927
2062
  inline-size: 3rem;
1928
2063
  block-size: 2.4rem;
1929
2064
  padding: .2rem;
@@ -1932,84 +2067,86 @@
1932
2067
  border-radius: var(--usk-native-radius-sm);
1933
2068
  }
1934
2069
 
1935
- [data-ui][data-theme][data-mode] :where(input[type="color"])::-webkit-color-swatch-wrapper {
2070
+ [data-ui][data-mode] :where(input[type="color"])::-webkit-color-swatch-wrapper {
1936
2071
  padding: 0;
1937
2072
  }
1938
2073
 
1939
- [data-ui][data-theme][data-mode] :where(input[type="color"])::-webkit-color-swatch {
1940
- border: 0;
1941
- border-radius: calc(var(--usk-native-radius-sm) / 1.5);
2074
+ [data-ui][data-mode] :where(input[type="color"])::-webkit-color-swatch {
2075
+ border: var(--usk-native-color-swatch-border);
2076
+ border-radius: var(--usk-native-color-swatch-radius);
1942
2077
  }
1943
2078
 
1944
- [data-ui][data-theme][data-mode] :where(input[type="color"])::-moz-color-swatch {
1945
- border: 0;
1946
- border-radius: calc(var(--usk-native-radius-sm) / 1.5);
2079
+ [data-ui][data-mode] :where(input[type="color"])::-moz-color-swatch {
2080
+ border: var(--usk-native-color-swatch-border);
2081
+ border-radius: var(--usk-native-color-swatch-radius);
1947
2082
  }
1948
2083
 
1949
- [data-ui][data-theme][data-mode] :where(input[type="file"]) { color: var(--usk-native-text-muted); }
2084
+ [data-ui][data-mode] :where(input[type="file"]) { color: var(--usk-native-text-muted); }
1950
2085
 
1951
2086
  /* Keep pseudo-elements outside :where() because engines reject them inside selector-list arguments. */
1952
- [data-ui][data-theme][data-mode] :where(input[type="file"])::file-selector-button,
1953
- [data-ui][data-theme][data-mode] :where(input[type="file"])::-webkit-file-upload-button {
2087
+ [data-ui][data-mode] :where(input[type="file"])::file-selector-button,
2088
+ [data-ui][data-mode] :where(input[type="file"])::-webkit-file-upload-button {
1954
2089
  margin-inline-end: .75rem;
1955
2090
  padding: var(--usk-native-subcontrol-padding-block) var(--usk-native-subcontrol-padding-inline);
1956
2091
  color: var(--usk-native-on-primary);
1957
- background: var(--usk-native-primary);
1958
- border: var(--usk-native-border-width) solid var(--usk-native-primary);
1959
- border-radius: var(--usk-native-radius-sm);
2092
+ background: var(--usk-native-file-button-background);
2093
+ border: var(--usk-native-file-button-border);
2094
+ border-radius: var(--usk-native-file-button-radius);
2095
+ box-shadow: var(--usk-native-file-button-shadow);
1960
2096
  font-weight: 800;
1961
2097
  cursor: pointer;
1962
2098
  }
1963
2099
 
1964
- [data-ui][data-theme][data-mode] :where(input[type="file"]:hover)::file-selector-button,
1965
- [data-ui][data-theme][data-mode] :where(input[type="file"]:hover)::-webkit-file-upload-button {
2100
+ [data-ui][data-mode] :where(input[type="file"]:hover)::file-selector-button,
2101
+ [data-ui][data-mode] :where(input[type="file"]:hover)::-webkit-file-upload-button {
1966
2102
  background: var(--usk-native-primary-hover);
1967
2103
  border-color: var(--usk-native-primary-hover);
1968
2104
  }
1969
2105
 
1970
- [data-ui][data-theme][data-mode] :where(input[type="file"]:focus-visible)::file-selector-button,
1971
- [data-ui][data-theme][data-mode] :where(input[type="file"]:focus-visible)::-webkit-file-upload-button {
2106
+ [data-ui][data-mode] :where(input[type="file"]:focus-visible)::file-selector-button,
2107
+ [data-ui][data-mode] :where(input[type="file"]:focus-visible)::-webkit-file-upload-button {
1972
2108
  box-shadow: var(--usk-native-focus-ring);
1973
2109
  }
1974
2110
 
1975
- [data-ui][data-theme][data-mode] :where(input[type="file"]:active)::file-selector-button,
1976
- [data-ui][data-theme][data-mode] :where(input[type="file"]:active)::-webkit-file-upload-button {
2111
+ [data-ui][data-mode] :where(input[type="file"]:active)::file-selector-button,
2112
+ [data-ui][data-mode] :where(input[type="file"]:active)::-webkit-file-upload-button {
1977
2113
  filter: brightness(.96);
1978
2114
  }
1979
2115
 
1980
- [data-ui][data-theme][data-mode] :where(input[type="file"]:disabled)::file-selector-button,
1981
- [data-ui][data-theme][data-mode] :where(input[type="file"]:disabled)::-webkit-file-upload-button {
2116
+ [data-ui][data-mode] :where(input[type="file"]:disabled)::file-selector-button,
2117
+ [data-ui][data-mode] :where(input[type="file"]:disabled)::-webkit-file-upload-button {
1982
2118
  color: var(--usk-native-text-muted);
1983
2119
  background: var(--usk-native-surface-soft);
1984
2120
  border-color: var(--usk-native-border);
1985
2121
  cursor: not-allowed;
1986
2122
  }
1987
2123
 
1988
- [data-ui][data-theme][data-mode] :where(input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea:read-only) {
2124
+ [data-ui][data-mode] :where(input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea:read-only) {
1989
2125
  background: var(--usk-native-surface-soft);
1990
2126
  }
1991
2127
 
1992
- [data-ui][data-theme][data-mode] :where(input:required, textarea:required, select:required) {
2128
+ [data-ui][data-mode] :where(input:required, textarea:required, select:required) {
1993
2129
  box-shadow: inset .22rem 0 0 var(--usk-native-indicator);
1994
2130
  }
1995
2131
 
1996
- [data-ui][data-theme][data-mode] :where(input:user-valid, textarea:user-valid, select:user-valid, .is-valid) {
2132
+ [data-ui][data-mode] :where(input:user-valid, textarea:user-valid, select:user-valid, .is-valid) {
1997
2133
  border-color: var(--usk-native-success);
1998
2134
  }
1999
2135
 
2000
- [data-ui][data-theme][data-mode] :where(input:user-invalid, textarea:user-invalid, select:user-invalid, [aria-invalid="true"], .is-invalid) {
2136
+ [data-ui][data-mode] :where(input:user-invalid, textarea:user-invalid, select:user-invalid, [aria-invalid="true"], .is-invalid) {
2001
2137
  border-color: var(--usk-native-danger);
2002
2138
  }
2003
2139
 
2004
- [data-ui][data-theme][data-mode] :where(input[type="checkbox"]:indeterminate, input[type="radio"]:indeterminate) {
2140
+ [data-ui][data-mode] :where(input[type="checkbox"]:indeterminate, input[type="radio"]:indeterminate) {
2141
+ background: linear-gradient(var(--usk-native-choice-mark-color), var(--usk-native-choice-mark-color)) center / 58% .15rem no-repeat var(--usk-native-choice-checked-background);
2005
2142
  accent-color: var(--usk-native-warning);
2006
2143
  }
2007
2144
 
2008
- [data-ui][data-theme][data-mode] :where(button:active, input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active) {
2145
+ [data-ui][data-mode] :where(button:active, input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active) {
2009
2146
  filter: brightness(.96);
2010
2147
  }
2011
2148
 
2012
- [data-ui][data-theme][data-mode] :where(input:disabled, textarea:disabled, select:disabled, button:disabled, [aria-disabled="true"]) {
2149
+ [data-ui][data-mode] :where(input:disabled, textarea:disabled, select:disabled, button:disabled, [aria-disabled="true"]) {
2013
2150
  color: var(--usk-native-text-muted);
2014
2151
  background: var(--usk-native-surface-soft);
2015
2152
  border-color: var(--usk-native-border);
@@ -2018,37 +2155,36 @@
2018
2155
  cursor: not-allowed;
2019
2156
  }
2020
2157
 
2021
- [data-ui][data-theme][data-mode] :where(table) {
2158
+ [data-ui][data-mode] :where(table) {
2022
2159
  width: 100%;
2023
2160
  margin: 1rem 0;
2024
- overflow: hidden;
2025
2161
  background: var(--usk-native-surface);
2026
2162
  border: var(--usk-native-border-width) solid var(--usk-native-border);
2027
2163
  border-radius: var(--usk-native-radius);
2028
2164
  border-collapse: collapse;
2029
2165
  }
2030
2166
 
2031
- [data-ui][data-theme][data-mode] :where(caption) {
2167
+ [data-ui][data-mode] :where(caption) {
2032
2168
  caption-side: bottom;
2033
2169
  padding: .75rem;
2034
2170
  color: var(--usk-native-text-muted);
2035
2171
  font-size: .9rem;
2036
2172
  }
2037
2173
 
2038
- [data-ui][data-theme][data-mode] :where(th, td) {
2174
+ [data-ui][data-mode] :where(th, td) {
2039
2175
  padding: .8rem .9rem;
2040
2176
  text-align: left;
2041
2177
  border-bottom: var(--usk-native-border-width) solid var(--usk-native-border);
2042
2178
  }
2043
2179
 
2044
- [data-ui][data-theme][data-mode] :where(th) {
2180
+ [data-ui][data-mode] :where(th) {
2045
2181
  color: var(--usk-native-text);
2046
2182
  background: var(--usk-native-surface-soft);
2047
2183
  }
2048
2184
 
2049
- [data-ui][data-theme][data-mode] :where(td) { color: var(--usk-native-text-muted); }
2185
+ [data-ui][data-mode] :where(td) { color: var(--usk-native-text-muted); }
2050
2186
 
2051
- [data-ui][data-theme][data-mode] :where(details) {
2187
+ [data-ui][data-mode] :where(details) {
2052
2188
  margin: 1rem 0;
2053
2189
  padding: .9rem 1rem;
2054
2190
  color: var(--usk-native-text);
@@ -2057,13 +2193,13 @@
2057
2193
  border-radius: var(--usk-native-radius);
2058
2194
  }
2059
2195
 
2060
- [data-ui][data-theme][data-mode] :where(summary) {
2196
+ [data-ui][data-mode] :where(summary) {
2061
2197
  color: var(--usk-native-text);
2062
2198
  font-weight: 900;
2063
2199
  cursor: pointer;
2064
2200
  }
2065
2201
 
2066
- [data-ui][data-theme][data-mode] :where(dialog) {
2202
+ [data-ui][data-mode] :where(dialog) {
2067
2203
  max-width: min(92vw, 42rem);
2068
2204
  padding: 0;
2069
2205
  color: var(--usk-native-text);
@@ -2073,47 +2209,68 @@
2073
2209
  box-shadow: var(--usk-native-shadow-md), 0 30px 80px rgb(0 0 0 / .42);
2074
2210
  }
2075
2211
 
2076
- [data-ui][data-theme][data-mode] :where(dialog p) { color: inherit; }
2212
+ [data-ui][data-mode] :where(dialog p) { color: inherit; }
2077
2213
 
2078
- [data-ui][data-theme][data-mode] :where(dialog)::backdrop { background: rgb(0 0 0 / .62); }
2214
+ [data-ui][data-mode] :where(dialog)::backdrop { background: rgb(0 0 0 / .62); }
2079
2215
 
2080
- [data-ui][data-theme][data-mode] :where(progress, meter) {
2216
+ [data-ui][data-mode] :where(progress, meter) {
2217
+ -webkit-appearance: none;
2218
+ appearance: none;
2081
2219
  width: 100%;
2082
- min-height: .9rem;
2220
+ min-height: var(--usk-native-progress-size);
2083
2221
  accent-color: var(--usk-native-primary);
2084
2222
  }
2085
2223
 
2086
- [data-ui][data-theme][data-mode] :where(progress, meter)::-webkit-progress-bar,
2087
- [data-ui][data-theme][data-mode] :where(meter)::-webkit-meter-bar {
2088
- background: var(--usk-native-track);
2089
- border-radius: 999px;
2224
+ [data-ui][data-mode] :where(progress:not([value])) {
2225
+ background: repeating-linear-gradient(115deg, var(--usk-native-progress-track-background) 0 .5rem, var(--usk-native-progress-value-background) .5rem 1rem);
2226
+ background-size: 200% 100%;
2227
+ border: var(--usk-native-progress-track-border);
2228
+ border-radius: var(--usk-native-progress-track-radius);
2229
+ box-shadow: var(--usk-native-progress-track-shadow);
2230
+ animation: usk-native-progress-indeterminate 1.2s linear infinite;
2090
2231
  }
2091
2232
 
2092
- [data-ui][data-theme][data-mode] :where(progress)::-webkit-progress-value,
2093
- [data-ui][data-theme][data-mode] :where(meter)::-webkit-meter-optimum-value {
2094
- background: var(--usk-native-track-fill);
2095
- border-radius: inherit;
2233
+ @keyframes usk-native-progress-indeterminate {
2234
+ to { background-position: -2rem 0; }
2096
2235
  }
2097
2236
 
2098
- [data-ui][data-theme][data-mode] :where(progress)::-moz-progress-bar,
2099
- [data-ui][data-theme][data-mode] :where(meter)::-moz-meter-bar {
2100
- background: var(--usk-native-track-fill);
2101
- border-radius: 999px;
2237
+ [data-ui][data-mode] :where(progress, meter)::-webkit-progress-bar,
2238
+ [data-ui][data-mode] :where(meter)::-webkit-meter-bar {
2239
+ background: var(--usk-native-progress-track-background);
2240
+ border: var(--usk-native-progress-track-border);
2241
+ border-radius: var(--usk-native-progress-track-radius);
2242
+ box-shadow: var(--usk-native-progress-track-shadow);
2243
+ }
2244
+
2245
+ [data-ui][data-mode] :where(progress)::-webkit-progress-value,
2246
+ [data-ui][data-mode] :where(meter)::-webkit-meter-optimum-value {
2247
+ background: var(--usk-native-progress-value-background);
2248
+ border-radius: var(--usk-native-progress-value-radius);
2249
+ box-shadow: var(--usk-native-progress-value-shadow);
2250
+ }
2251
+
2252
+ [data-ui][data-mode] :where(progress)::-moz-progress-bar,
2253
+ [data-ui][data-mode] :where(meter)::-moz-meter-bar {
2254
+ background: var(--usk-native-progress-value-background);
2255
+ border-radius: var(--usk-native-progress-value-radius);
2256
+ box-shadow: var(--usk-native-progress-value-shadow);
2102
2257
  }
2103
2258
 
2104
- [data-ui][data-theme][data-mode] :where(meter)::-webkit-meter-suboptimum-value {
2105
- background: var(--usk-native-warning);
2259
+ [data-ui][data-mode] :where(meter)::-webkit-meter-optimum-value { background: var(--usk-native-meter-optimum-background); }
2260
+
2261
+ [data-ui][data-mode] :where(meter)::-webkit-meter-suboptimum-value {
2262
+ background: var(--usk-native-meter-suboptimum-background);
2106
2263
  }
2107
2264
 
2108
- [data-ui][data-theme][data-mode] :where(meter)::-webkit-meter-even-less-good-value {
2109
- background: var(--usk-native-danger);
2265
+ [data-ui][data-mode] :where(meter)::-webkit-meter-even-less-good-value {
2266
+ background: var(--usk-native-meter-critical-background);
2110
2267
  }
2111
2268
 
2112
- [data-ui][data-theme][data-mode] :where(main, section, header, footer, nav, article, aside, address) {
2269
+ [data-ui][data-mode] :where(main, section, header, footer, nav, article, aside, address) {
2113
2270
  color: var(--usk-native-text);
2114
2271
  }
2115
2272
 
2116
- [data-ui][data-theme][data-mode] :where(article, aside) {
2273
+ [data-ui][data-mode] :where(article, aside) {
2117
2274
  padding: var(--usk-native-panel-padding);
2118
2275
  color: var(--usk-native-text);
2119
2276
  background: var(--usk-native-card-bg);
@@ -2122,113 +2279,132 @@
2122
2279
  box-shadow: var(--usk-native-shadow);
2123
2280
  }
2124
2281
 
2125
- [data-ui][data-theme][data-mode] :where(dl) {
2282
+ [data-ui][data-mode] :where(dl) {
2126
2283
  margin: 0 0 1rem;
2127
2284
  color: var(--usk-native-text-muted);
2128
2285
  }
2129
2286
 
2130
- [data-ui][data-theme][data-mode] :where(dt) {
2287
+ [data-ui][data-mode] :where(dt) {
2131
2288
  color: var(--usk-native-text);
2132
2289
  font-weight: 900;
2133
2290
  }
2134
2291
 
2135
- [data-ui][data-theme][data-mode] :where(dd) { margin: .25rem 0 .75rem 1.25rem; }
2136
- [data-ui][data-theme][data-mode] :where(strong, b) { color: var(--usk-native-text); font-weight: 900; }
2137
- [data-ui][data-theme][data-mode] :where(u) { text-decoration-color: var(--usk-native-primary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
2138
- [data-ui][data-theme][data-mode] :where(bdi, bdo) { color: var(--usk-native-text); unicode-bidi: isolate; }
2139
- [data-ui][data-theme][data-mode] :where(em, i, cite, var, q) { color: var(--usk-native-text); }
2140
- [data-ui][data-theme][data-mode] :where(ins) { color: var(--usk-native-text); text-decoration-color: var(--usk-native-success); }
2141
- [data-ui][data-theme][data-mode] :where(del, s) { color: var(--usk-native-text); text-decoration-color: var(--usk-native-danger); }
2142
- [data-ui][data-theme][data-mode] :where(output) { color: var(--usk-native-text); font-weight: 800; }
2143
- [data-ui][data-theme][data-mode] :where(optgroup, option) { color: var(--usk-native-text); background: var(--usk-native-surface); }
2144
- [data-ui][data-theme][data-mode] :where(time, data, dfn, ruby) { color: var(--usk-native-text); }
2145
- [data-ui][data-theme][data-mode] :where(search) { display: block; color: var(--usk-native-text); }
2146
- [data-ui][data-theme][data-mode] :where(selectedcontent) { color: var(--usk-native-text); }
2147
- [data-ui][data-theme][data-mode] :where(datalist) { display: none; }
2148
-
2149
- [data-ui][data-theme][data-mode] :where(summary, li)::marker {
2292
+ [data-ui][data-mode] :where(dd) { margin: .25rem 0 .75rem 1.25rem; }
2293
+ [data-ui][data-mode] :where(strong, b) { color: var(--usk-native-text); font-weight: 900; }
2294
+ [data-ui][data-mode] :where(u) { text-decoration-color: var(--usk-native-primary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
2295
+ [data-ui][data-mode] :where(bdi, bdo) { color: var(--usk-native-text); unicode-bidi: isolate; }
2296
+ [data-ui][data-mode] :where(em, i, cite, var, q) { color: var(--usk-native-text); }
2297
+ [data-ui][data-mode] :where(ins) { color: var(--usk-native-text); text-decoration-color: var(--usk-native-success); }
2298
+ [data-ui][data-mode] :where(del, s) { color: var(--usk-native-text); text-decoration-color: var(--usk-native-danger); }
2299
+ [data-ui][data-mode] :where(output) { color: var(--usk-native-text); font-weight: 800; }
2300
+ [data-ui][data-mode] :where(optgroup, option) { color: var(--usk-native-text); background: var(--usk-native-surface); }
2301
+ [data-ui][data-mode] :where(time, data, dfn, ruby) { color: var(--usk-native-text); }
2302
+ [data-ui][data-mode] :where(search) { display: block; color: var(--usk-native-text); }
2303
+ [data-ui][data-mode] :where(selectedcontent) { color: var(--usk-native-text); }
2304
+ [data-ui][data-mode] :where(datalist) { display: none; }
2305
+
2306
+ [data-ui][data-mode] :where(summary, li)::marker {
2150
2307
  color: var(--usk-native-indicator);
2151
2308
  }
2152
2309
 
2153
- [data-ui][data-theme][data-mode] :where(input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"])::-webkit-calendar-picker-indicator {
2154
- opacity: .78;
2310
+ [data-ui][data-mode] :where(input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"])::-webkit-calendar-picker-indicator {
2311
+ opacity: var(--usk-native-indicator-opacity);
2312
+ filter: var(--usk-native-indicator-filter);
2155
2313
  accent-color: var(--usk-native-indicator);
2156
2314
  }
2157
2315
 
2158
- [data-ui][data-theme][data-mode] :where(input[type="search"])::-webkit-search-cancel-button {
2316
+ [data-ui][data-mode] :where(input[type="search"])::-webkit-search-cancel-button {
2159
2317
  accent-color: var(--usk-native-indicator);
2160
2318
  }
2161
2319
 
2162
- [data-ui][data-theme][data-mode] :where(input[type="number"])::-webkit-inner-spin-button,
2163
- [data-ui][data-theme][data-mode] :where(input[type="number"])::-webkit-outer-spin-button {
2320
+ [data-ui][data-mode] :where(input[type="number"])::-webkit-inner-spin-button,
2321
+ [data-ui][data-mode] :where(input[type="number"])::-webkit-outer-spin-button {
2164
2322
  opacity: .72;
2165
2323
  }
2166
2324
 
2167
- [data-ui][data-theme][data-mode] :where(select)::picker-icon {
2325
+ [data-ui][data-mode] :where(select)::picker-icon {
2168
2326
  color: var(--usk-native-indicator);
2327
+ opacity: var(--usk-native-indicator-opacity);
2328
+ filter: var(--usk-native-indicator-filter);
2169
2329
  }
2170
2330
 
2171
- [data-ui][data-theme][data-mode] :where(:focus-visible) {
2331
+ [data-ui][data-mode] :where(:focus-visible) {
2172
2332
  outline: 3px solid var(--usk-native-focus);
2173
2333
  outline-offset: 3px;
2174
2334
  box-shadow: var(--usk-native-focus-ring);
2175
2335
  }
2176
2336
 
2177
- [data-ui][data-theme][data-mode] :where(:target) {
2337
+ [data-ui][data-mode] :where(:target) {
2178
2338
  scroll-margin-top: 6rem;
2179
2339
  outline: 3px solid var(--usk-native-focus);
2180
2340
  outline-offset: .35rem;
2181
2341
  }
2182
2342
 
2183
- [data-ui][data-theme][data-mode] :where([aria-current="page"]) { font-weight: 900; }
2184
- [data-ui][data-theme][data-mode] :where([aria-busy="true"]) { cursor: progress; }
2185
- [data-ui][data-theme][data-mode] :where([hidden]) { display: none !important; }
2186
- [data-ui][data-theme][data-mode] ::selection { color: var(--usk-native-on-primary); background: var(--usk-native-primary); }
2187
- [data-ui][data-theme][data-mode] ::-webkit-scrollbar { inline-size: .75rem; block-size: .75rem; }
2188
- [data-ui][data-theme][data-mode] ::-webkit-scrollbar-track { background: var(--usk-native-track); }
2189
- [data-ui][data-theme][data-mode] ::-webkit-scrollbar-thumb { background: var(--usk-native-thumb-border); border-radius: 999px; }
2343
+ [data-ui][data-mode] :where([aria-current="page"]) { font-weight: 900; }
2344
+ [data-ui][data-mode] :where([aria-busy="true"]) { cursor: progress; }
2345
+ [data-ui][data-mode] :where([hidden]) { display: none !important; }
2346
+ [data-ui][data-mode] ::selection { color: var(--usk-native-on-primary); background: var(--usk-native-primary); }
2347
+ [data-ui][data-mode] ::-webkit-scrollbar { inline-size: var(--usk-native-scrollbar-size); block-size: var(--usk-native-scrollbar-size); }
2348
+ [data-ui][data-mode] ::-webkit-scrollbar-track { background: var(--usk-native-scrollbar-track); }
2349
+ [data-ui][data-mode] ::-webkit-scrollbar-thumb { background: var(--usk-native-scrollbar-thumb); border-radius: var(--usk-native-scrollbar-radius); }
2190
2350
 
2191
2351
  @supports (color: color-mix(in srgb, black, white)) {
2192
- [data-ui][data-theme][data-mode] {
2352
+ [data-ui][data-mode] {
2193
2353
  --usk-native-track: color-mix(in srgb, var(--usk-native-border) 50%, transparent);
2194
2354
  }
2195
2355
 
2196
- [data-ui][data-theme][data-mode] :where(code, kbd, samp) {
2356
+ [data-ui][data-mode] :where(code, kbd, samp) {
2197
2357
  border-color: color-mix(in srgb, var(--usk-native-border) 62%, transparent);
2198
2358
  }
2199
2359
 
2200
- [data-ui][data-theme][data-mode] :where(mark) {
2360
+ [data-ui][data-mode] :where(mark) {
2201
2361
  background: color-mix(in srgb, var(--usk-native-warning) 32%, transparent);
2202
2362
  }
2203
2363
 
2204
- [data-ui][data-theme][data-mode] :where(fieldset) {
2364
+ [data-ui][data-mode] :where(fieldset) {
2205
2365
  background: color-mix(in srgb, var(--usk-native-card-bg) 88%, transparent);
2206
2366
  }
2207
2367
 
2208
- [data-ui][data-theme][data-mode] :where(input:disabled, textarea:disabled, select:disabled, button:disabled, [aria-disabled="true"]) {
2368
+ [data-ui][data-mode] :where(input:disabled, textarea:disabled, select:disabled, button:disabled, [aria-disabled="true"]) {
2209
2369
  background: color-mix(in srgb, var(--usk-native-surface-soft) 72%, transparent);
2210
2370
  }
2211
2371
 
2212
- [data-ui][data-theme][data-mode] :where(th) {
2372
+ [data-ui][data-mode] :where(th) {
2213
2373
  background: color-mix(in srgb, var(--usk-native-primary) 10%, transparent);
2214
2374
  }
2215
2375
  }
2216
2376
 
2217
2377
  @media (prefers-reduced-motion: reduce) {
2218
- [data-ui][data-theme][data-mode] :where(input[type="file"])::file-selector-button,
2219
- [data-ui][data-theme][data-mode] :where(input[type="file"])::-webkit-file-upload-button {
2378
+ [data-ui][data-mode] :where(input[type="file"])::file-selector-button,
2379
+ [data-ui][data-mode] :where(input[type="file"])::-webkit-file-upload-button {
2220
2380
  transition-duration: 1ms !important;
2221
2381
  }
2382
+
2383
+ [data-ui][data-mode] :where(progress:not([value])) {
2384
+ animation: none;
2385
+ }
2386
+ }
2387
+
2388
+ [data-ui][data-theme][data-mode="contrast"] :where(input[type="range"])::-webkit-slider-runnable-track,
2389
+ [data-ui][data-theme][data-mode="contrast"] :where(input[type="range"])::-webkit-slider-thumb,
2390
+ [data-ui][data-theme][data-mode="contrast"] :where(input[type="range"])::-moz-range-track,
2391
+ [data-ui][data-theme][data-mode="contrast"] :where(input[type="range"])::-moz-range-thumb,
2392
+ [data-ui][data-theme][data-mode="contrast"] :where(progress, meter),
2393
+ [data-ui][data-theme][data-mode="contrast"] :where(progress, meter)::-webkit-progress-bar,
2394
+ [data-ui][data-theme][data-mode="contrast"] :where(progress)::-webkit-progress-value,
2395
+ [data-ui][data-theme][data-mode="contrast"] :where(progress)::-moz-progress-bar {
2396
+ box-shadow: none;
2397
+ filter: none;
2222
2398
  }
2223
2399
 
2224
2400
  @media (forced-colors: active) {
2225
2401
  @supports (forced-color-adjust: auto) {
2226
- [data-ui][data-theme][data-mode] :where(input, textarea, select, button, progress, meter) {
2402
+ [data-ui][data-mode] :where(input, textarea, select, button, progress, meter) {
2227
2403
  forced-color-adjust: auto;
2228
2404
  }
2229
2405
  }
2230
2406
 
2231
- [data-ui][data-theme][data-mode] :where(input:user-invalid, textarea:user-invalid, select:user-invalid, [aria-invalid="true"], .is-invalid) {
2407
+ [data-ui][data-mode] :where(input:user-invalid, textarea:user-invalid, select:user-invalid, [aria-invalid="true"], .is-invalid) {
2232
2408
  border-color: Mark;
2233
2409
  }
2234
2410
  }
@@ -2244,7 +2420,7 @@
2244
2420
  ========================================================= */
2245
2421
 
2246
2422
  @layer ui-style-kit.components {
2247
- [data-ui][data-theme][data-mode] :where(
2423
+ [data-ui][data-mode] :where(
2248
2424
  h1,
2249
2425
  h2,
2250
2426
  h3,
@@ -2261,6 +2437,9 @@
2261
2437
  label,
2262
2438
  legend,
2263
2439
  summary,
2440
+ strong,
2441
+ small,
2442
+ em,
2264
2443
  code,
2265
2444
  kbd,
2266
2445
  samp,
@@ -2270,10 +2449,11 @@
2270
2449
  ) {
2271
2450
  max-inline-size: 100%;
2272
2451
  min-inline-size: 0;
2273
- overflow-wrap: anywhere;
2452
+ overflow-wrap: break-word;
2453
+ word-break: normal;
2274
2454
  }
2275
2455
 
2276
- [data-ui][data-theme][data-mode] :where(
2456
+ [data-ui][data-mode] :where(
2277
2457
  [class~="saas-surface"],
2278
2458
  [class~="saas-surface-sm"],
2279
2459
  [class~="saas-surface-lg"],
@@ -2395,13 +2575,12 @@
2395
2575
  [class~="rg-alert"],
2396
2576
  [class~="rg-table-wrap"],
2397
2577
  [class~="rg-nav"]
2398
- ), [data-ui]:where([data-ui="tactile"])[data-theme][data-mode] :where([class~="saas-surface"],[class~="saas-surface-sm"],[class~="saas-surface-lg"],.ui-card,[class~="saas-panel"],.ui-toolbar,[class~="saas-well"],[class~="saas-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="bento-surface"],[class~="bento-surface-sm"],[class~="bento-surface-lg"],.ui-card,[class~="bento-panel"],.ui-toolbar,[class~="bento-well"],[class~="bento-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="max-surface"],[class~="max-surface-sm"],[class~="max-surface-lg"],.ui-card,[class~="max-panel"],.ui-toolbar,[class~="max-well"],[class~="max-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="bau-surface"],[class~="bau-surface-sm"],[class~="bau-surface-lg"],.ui-card,[class~="bau-panel"],.ui-toolbar,[class~="bau-well"],[class~="bau-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="tactile-surface"],[class~="tactile-surface-sm"],[class~="tactile-surface-lg"],.ui-card,[class~="tactile-panel"],.ui-toolbar,[class~="tactile-well"],[class~="tactile-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="neo-surface"],[class~="neo-surface-sm"],[class~="neo-surface-lg"],.ui-card,[class~="neo-panel"],.ui-toolbar,[class~="neo-well"],[class~="neo-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="retro-surface"],[class~="retro-surface-sm"],[class~="retro-surface-lg"],.ui-card,[class~="retro-panel"],.ui-toolbar,[class~="retro-well"],[class~="retro-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="brutal-surface"],.ui-card,[class~="brutal-panel"],.ui-toolbar,[class~="brutal-well"],[class~="brutal-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.ui-card,[class~="cyber-panel"],.ui-toolbar,[class~="cyber-well"],[class~="cyber-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.ui-card,[class~="y2k-panel"],.ui-toolbar,[class~="y2k-well"],[class~="y2k-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.ui-card,[class~="rg-panel"],.ui-toolbar,[class~="rg-well"],[class~="rg-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav) {
2578
+ ), [data-ui]:where([data-ui="tactile"])[data-mode] :where([class~="saas-surface"],[class~="saas-surface-sm"],[class~="saas-surface-lg"],.ui-card,[class~="saas-panel"],.ui-toolbar,[class~="saas-well"],[class~="saas-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="bento-surface"],[class~="bento-surface-sm"],[class~="bento-surface-lg"],.ui-card,[class~="bento-panel"],.ui-toolbar,[class~="bento-well"],[class~="bento-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="max-surface"],[class~="max-surface-sm"],[class~="max-surface-lg"],.ui-card,[class~="max-panel"],.ui-toolbar,[class~="max-well"],[class~="max-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="bau-surface"],[class~="bau-surface-sm"],[class~="bau-surface-lg"],.ui-card,[class~="bau-panel"],.ui-toolbar,[class~="bau-well"],[class~="bau-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="tactile-surface"],[class~="tactile-surface-sm"],[class~="tactile-surface-lg"],.ui-card,[class~="tactile-panel"],.ui-toolbar,[class~="tactile-well"],[class~="tactile-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="neo-surface"],[class~="neo-surface-sm"],[class~="neo-surface-lg"],.ui-card,[class~="neo-panel"],.ui-toolbar,[class~="neo-well"],[class~="neo-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="retro-surface"],[class~="retro-surface-sm"],[class~="retro-surface-lg"],.ui-card,[class~="retro-panel"],.ui-toolbar,[class~="retro-well"],[class~="retro-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,[class~="brutal-surface"],.ui-card,[class~="brutal-panel"],.ui-toolbar,[class~="brutal-well"],[class~="brutal-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.ui-card,[class~="cyber-panel"],.ui-toolbar,[class~="cyber-well"],[class~="cyber-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.ui-card,[class~="y2k-panel"],.ui-toolbar,[class~="y2k-well"],[class~="y2k-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.ui-card,[class~="rg-panel"],.ui-toolbar,[class~="rg-well"],[class~="rg-inset"],.ui-field,.ui-alert,.ui-table-wrap,.ui-nav) {
2399
2579
  max-inline-size: 100%;
2400
2580
  min-inline-size: 0;
2401
- overflow-wrap: anywhere;
2402
2581
  }
2403
2582
 
2404
- [data-ui][data-theme][data-mode] :where(
2583
+ [data-ui][data-mode] :where(
2405
2584
  [class~="saas-button"],
2406
2585
  [class~="saas-icon-button"],
2407
2586
  [class~="saas-badge"],
@@ -2446,13 +2625,15 @@
2446
2625
  [class~="rg-icon-button"],
2447
2626
  [class~="rg-badge"],
2448
2627
  [class~="rg-nav-link"]
2449
- ), [data-ui]:where([data-ui="tactile"])[data-theme][data-mode] :where(.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link) {
2628
+ ), [data-ui]:where([data-ui="tactile"])[data-mode] :where(.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link,.ui-button,.ui-icon-button,.ui-badge,.ui-nav-link) {
2450
2629
  max-inline-size: 100%;
2451
2630
  min-inline-size: 0;
2631
+ overflow-wrap: break-word;
2632
+ word-break: normal;
2452
2633
  white-space: normal;
2453
2634
  }
2454
2635
 
2455
- [data-ui][data-theme][data-mode] :where(
2636
+ [data-ui][data-mode] :where(
2456
2637
  .saas-button,
2457
2638
  .saas-icon-button,
2458
2639
  .saas-button-pill,
@@ -2486,7 +2667,7 @@
2486
2667
  .rg-button,
2487
2668
  .rg-icon-button,
2488
2669
  .rg-button-pill
2489
- ), [data-ui]:where([data-ui="tactile"])[data-theme][data-mode] :where(.ui-button,.ui-icon-button,.saas-button-pill,.ui-button,.ui-icon-button,.bento-button-pill,.ui-button,.ui-icon-button,.max-button-pill,.ui-button,.ui-icon-button,.bau-button-pill,.ui-button,.ui-icon-button,.tactile-button-pill,.ui-button,.ui-icon-button,.neo-button-pill,.ui-button,.ui-icon-button,.retro-button-pill,.ui-button,.ui-icon-button,.brutal-button-pill,.ui-button,.ui-icon-button,.cyber-button-pill,.ui-button,.ui-icon-button,.y2k-button-pill,.ui-button,.ui-icon-button,.rg-button-pill) {
2670
+ ), [data-ui]:where([data-ui="tactile"])[data-mode] :where(.ui-button,.ui-icon-button,.saas-button-pill,.ui-button,.ui-icon-button,.bento-button-pill,.ui-button,.ui-icon-button,.max-button-pill,.ui-button,.ui-icon-button,.bau-button-pill,.ui-button,.ui-icon-button,.tactile-button-pill,.ui-button,.ui-icon-button,.neo-button-pill,.ui-button,.ui-icon-button,.retro-button-pill,.ui-button,.ui-icon-button,.brutal-button-pill,.ui-button,.ui-icon-button,.cyber-button-pill,.ui-button,.ui-icon-button,.y2k-button-pill,.ui-button,.ui-icon-button,.rg-button-pill) {
2490
2671
  box-sizing: border-box;
2491
2672
  display: inline-flex;
2492
2673
  align-items: center;
@@ -2498,7 +2679,7 @@
2498
2679
  vertical-align: middle;
2499
2680
  }
2500
2681
 
2501
- [data-ui][data-theme][data-mode] :where(
2682
+ [data-ui][data-mode] :where(
2502
2683
  .saas-button-pill,
2503
2684
  .bento-button-pill,
2504
2685
  .max-button-pill,
@@ -2521,7 +2702,8 @@
2521
2702
  font-weight: 850;
2522
2703
  text-align: center;
2523
2704
  text-decoration: none;
2524
- overflow-wrap: anywhere;
2705
+ overflow-wrap: break-word;
2706
+ word-break: normal;
2525
2707
  white-space: normal;
2526
2708
  cursor: pointer;
2527
2709
  transition:
@@ -2555,7 +2737,7 @@
2555
2737
  .y2k-button-pill:hover { border-color: var(--y2k-primary-hover); filter: brightness(1.04); }
2556
2738
  .rg-button-pill:hover { border-color: var(--rg-primary-hover); filter: brightness(1.04); }
2557
2739
 
2558
- [data-ui][data-theme][data-mode] :where(
2740
+ [data-ui][data-mode] :where(
2559
2741
  .saas-button-pill:active,
2560
2742
  .saas-button-pill[aria-pressed="true"],
2561
2743
  .bento-button-pill:active,
@@ -2594,7 +2776,7 @@
2594
2776
  .y2k-button-pill:focus-visible { outline: 3px solid var(--y2k-focus); outline-offset: 3px; box-shadow: var(--y2k-focus-ring); }
2595
2777
  .rg-button-pill:focus-visible { outline: 3px solid var(--rg-focus); outline-offset: 3px; box-shadow: var(--rg-focus-ring); }
2596
2778
 
2597
- [data-ui][data-theme][data-mode] :where(
2779
+ [data-ui][data-mode] :where(
2598
2780
  .saas-button-pill:disabled,
2599
2781
  .saas-button-pill[aria-disabled="true"],
2600
2782
  .bento-button-pill:disabled,
@@ -2624,7 +2806,7 @@
2624
2806
  transform: none;
2625
2807
  }
2626
2808
 
2627
- [data-ui][data-theme][data-mode] :where(
2809
+ [data-ui][data-mode] :where(
2628
2810
  .saas-tooltip,
2629
2811
  .saas-tooltip-top,
2630
2812
  .saas-tooltip-right,
@@ -2683,16 +2865,17 @@
2683
2865
  ) {
2684
2866
  max-inline-size: min(18rem, calc(100vw - 2rem));
2685
2867
  text-align: start;
2686
- overflow-wrap: anywhere;
2868
+ overflow-wrap: break-word;
2869
+ word-break: normal;
2687
2870
  }
2688
2871
 
2689
2872
  /* Directional tooltips detach only from an explicit anchor so static tooltip chips keep normal-flow sizing. */
2690
- [data-ui][data-theme][data-mode]:where([data-ui-tooltip-anchor]),
2691
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor]) {
2873
+ [data-ui][data-mode]:where([data-ui-tooltip-anchor]),
2874
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor]) {
2692
2875
  position: relative;
2693
2876
  }
2694
2877
 
2695
- [data-ui][data-theme][data-mode] :where(
2878
+ [data-ui][data-mode] :where(
2696
2879
  [data-ui-tooltip-anchor] > .saas-tooltip-top,
2697
2880
  [data-ui-tooltip-anchor] > .saas-tooltip-right,
2698
2881
  [data-ui-tooltip-anchor] > .saas-tooltip-bottom,
@@ -2742,10 +2925,10 @@
2742
2925
  z-index: 20;
2743
2926
  }
2744
2927
 
2745
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-top, [data-ui-tooltip-anchor] > .bento-tooltip-top, [data-ui-tooltip-anchor] > .max-tooltip-top, [data-ui-tooltip-anchor] > .bau-tooltip-top, [data-ui-tooltip-anchor] > .tactile-tooltip-top, [data-ui-tooltip-anchor] > .neo-tooltip-top, [data-ui-tooltip-anchor] > .retro-tooltip-top, [data-ui-tooltip-anchor] > .brutal-tooltip-top, [data-ui-tooltip-anchor] > .cyber-tooltip-top, [data-ui-tooltip-anchor] > .y2k-tooltip-top, [data-ui-tooltip-anchor] > .rg-tooltip-top) { inset-block-end: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
2746
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-right, [data-ui-tooltip-anchor] > .bento-tooltip-right, [data-ui-tooltip-anchor] > .max-tooltip-right, [data-ui-tooltip-anchor] > .bau-tooltip-right, [data-ui-tooltip-anchor] > .tactile-tooltip-right, [data-ui-tooltip-anchor] > .neo-tooltip-right, [data-ui-tooltip-anchor] > .retro-tooltip-right, [data-ui-tooltip-anchor] > .brutal-tooltip-right, [data-ui-tooltip-anchor] > .cyber-tooltip-right, [data-ui-tooltip-anchor] > .y2k-tooltip-right, [data-ui-tooltip-anchor] > .rg-tooltip-right) { inset-inline-start: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
2747
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-bottom, [data-ui-tooltip-anchor] > .bento-tooltip-bottom, [data-ui-tooltip-anchor] > .max-tooltip-bottom, [data-ui-tooltip-anchor] > .bau-tooltip-bottom, [data-ui-tooltip-anchor] > .tactile-tooltip-bottom, [data-ui-tooltip-anchor] > .neo-tooltip-bottom, [data-ui-tooltip-anchor] > .retro-tooltip-bottom, [data-ui-tooltip-anchor] > .brutal-tooltip-bottom, [data-ui-tooltip-anchor] > .cyber-tooltip-bottom, [data-ui-tooltip-anchor] > .y2k-tooltip-bottom, [data-ui-tooltip-anchor] > .rg-tooltip-bottom) { inset-block-start: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
2748
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-left, [data-ui-tooltip-anchor] > .bento-tooltip-left, [data-ui-tooltip-anchor] > .max-tooltip-left, [data-ui-tooltip-anchor] > .bau-tooltip-left, [data-ui-tooltip-anchor] > .tactile-tooltip-left, [data-ui-tooltip-anchor] > .neo-tooltip-left, [data-ui-tooltip-anchor] > .retro-tooltip-left, [data-ui-tooltip-anchor] > .brutal-tooltip-left, [data-ui-tooltip-anchor] > .cyber-tooltip-left, [data-ui-tooltip-anchor] > .y2k-tooltip-left, [data-ui-tooltip-anchor] > .rg-tooltip-left) { inset-inline-end: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
2928
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-top, [data-ui-tooltip-anchor] > .bento-tooltip-top, [data-ui-tooltip-anchor] > .max-tooltip-top, [data-ui-tooltip-anchor] > .bau-tooltip-top, [data-ui-tooltip-anchor] > .tactile-tooltip-top, [data-ui-tooltip-anchor] > .neo-tooltip-top, [data-ui-tooltip-anchor] > .retro-tooltip-top, [data-ui-tooltip-anchor] > .brutal-tooltip-top, [data-ui-tooltip-anchor] > .cyber-tooltip-top, [data-ui-tooltip-anchor] > .y2k-tooltip-top, [data-ui-tooltip-anchor] > .rg-tooltip-top) { inset-block-end: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
2929
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-right, [data-ui-tooltip-anchor] > .bento-tooltip-right, [data-ui-tooltip-anchor] > .max-tooltip-right, [data-ui-tooltip-anchor] > .bau-tooltip-right, [data-ui-tooltip-anchor] > .tactile-tooltip-right, [data-ui-tooltip-anchor] > .neo-tooltip-right, [data-ui-tooltip-anchor] > .retro-tooltip-right, [data-ui-tooltip-anchor] > .brutal-tooltip-right, [data-ui-tooltip-anchor] > .cyber-tooltip-right, [data-ui-tooltip-anchor] > .y2k-tooltip-right, [data-ui-tooltip-anchor] > .rg-tooltip-right) { inset-inline-start: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
2930
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-bottom, [data-ui-tooltip-anchor] > .bento-tooltip-bottom, [data-ui-tooltip-anchor] > .max-tooltip-bottom, [data-ui-tooltip-anchor] > .bau-tooltip-bottom, [data-ui-tooltip-anchor] > .tactile-tooltip-bottom, [data-ui-tooltip-anchor] > .neo-tooltip-bottom, [data-ui-tooltip-anchor] > .retro-tooltip-bottom, [data-ui-tooltip-anchor] > .brutal-tooltip-bottom, [data-ui-tooltip-anchor] > .cyber-tooltip-bottom, [data-ui-tooltip-anchor] > .y2k-tooltip-bottom, [data-ui-tooltip-anchor] > .rg-tooltip-bottom) { inset-block-start: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
2931
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .saas-tooltip-left, [data-ui-tooltip-anchor] > .bento-tooltip-left, [data-ui-tooltip-anchor] > .max-tooltip-left, [data-ui-tooltip-anchor] > .bau-tooltip-left, [data-ui-tooltip-anchor] > .tactile-tooltip-left, [data-ui-tooltip-anchor] > .neo-tooltip-left, [data-ui-tooltip-anchor] > .retro-tooltip-left, [data-ui-tooltip-anchor] > .brutal-tooltip-left, [data-ui-tooltip-anchor] > .cyber-tooltip-left, [data-ui-tooltip-anchor] > .y2k-tooltip-left, [data-ui-tooltip-anchor] > .rg-tooltip-left) { inset-inline-end: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
2749
2932
 
2750
2933
  .saas-pill { border-radius: var(--saas-radius-pill); }
2751
2934
  .bento-pill { border-radius: var(--bento-radius-pill); }
@@ -2895,10 +3078,72 @@
2895
3078
  }
2896
3079
  }
2897
3080
 
3081
+ /**
3082
+ * Normalizes the split-line trust seal hierarchy across every visual preset.
3083
+ * Both lines inherit their seal's paired foreground instead of native page-text paint.
3084
+ * The root attributes intentionally raise specificity within the preset layer
3085
+ * so later style-specific defaults cannot collapse the number and caption.
3086
+ */
3087
+ @layer ui-style-kit.presets {
3088
+ [data-ui][data-mode] :where(
3089
+ .saas-badge-seal,
3090
+ .bento-badge-seal,
3091
+ .max-badge-seal,
3092
+ .bau-badge-seal,
3093
+ .tactile-badge-seal,
3094
+ .neo-badge-seal,
3095
+ .retro-badge-seal,
3096
+ .brutal-badge-seal,
3097
+ .cyber-badge-seal,
3098
+ .y2k-badge-seal,
3099
+ .rg-badge-seal,
3100
+ .luxe-badge-seal,
3101
+ .organic-badge-seal,
3102
+ .utility-badge-seal,
3103
+ .blueprint-badge-seal,
3104
+ .deco-badge-seal,
3105
+ .clay-badge-seal,
3106
+ .terminal-badge-seal,
3107
+ .paper-badge-seal,
3108
+ .noir-badge-seal
3109
+ ) > strong {
3110
+ color: inherit;
3111
+ font-size: 1.5rem;
3112
+ line-height: .9;
3113
+ }
3114
+
3115
+ [data-ui][data-mode] :where(
3116
+ .saas-badge-seal,
3117
+ .bento-badge-seal,
3118
+ .max-badge-seal,
3119
+ .bau-badge-seal,
3120
+ .tactile-badge-seal,
3121
+ .neo-badge-seal,
3122
+ .retro-badge-seal,
3123
+ .brutal-badge-seal,
3124
+ .cyber-badge-seal,
3125
+ .y2k-badge-seal,
3126
+ .rg-badge-seal,
3127
+ .luxe-badge-seal,
3128
+ .organic-badge-seal,
3129
+ .utility-badge-seal,
3130
+ .blueprint-badge-seal,
3131
+ .deco-badge-seal,
3132
+ .clay-badge-seal,
3133
+ .terminal-badge-seal,
3134
+ .paper-badge-seal,
3135
+ .noir-badge-seal
3136
+ ) > small {
3137
+ color: inherit;
3138
+ font-size: .8125rem;
3139
+ line-height: 1;
3140
+ }
3141
+ }
3142
+
2898
3143
  /* BEGIN GENERATED 2.2 PRESET COMPONENT FOUNDATIONS */
2899
3144
  /* Generated by scripts/generate-expanded-components.mjs from manifest.json. */
2900
3145
  @layer ui-style-kit.components {
2901
- [data-ui][data-theme][data-mode] :where(
3146
+ [data-ui][data-mode] :where(
2902
3147
  .luxe-surface,
2903
3148
  .luxe-surface-sm,
2904
3149
  .luxe-surface-lg,
@@ -3061,13 +3306,12 @@
3061
3306
  .noir-feature-item,
3062
3307
  .noir-callout-bar,
3063
3308
  .noir-media-scrim
3064
- ), [data-ui]:where([data-ui="tactile"])[data-theme][data-mode] :where(.luxe-surface,.luxe-surface-sm,.luxe-surface-lg,.ui-card,.luxe-card-service,.luxe-card-feature,.luxe-panel,.ui-toolbar,.luxe-well,.luxe-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.luxe-feature-strip,.luxe-feature-item,.luxe-callout-bar,.luxe-media-scrim,.organic-surface,.organic-surface-sm,.organic-surface-lg,.ui-card,.organic-card-service,.organic-card-feature,.organic-panel,.ui-toolbar,.organic-well,.organic-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.organic-feature-strip,.organic-feature-item,.organic-callout-bar,.organic-media-scrim,.utility-surface,.utility-surface-sm,.utility-surface-lg,.ui-card,.utility-card-service,.utility-card-feature,.utility-panel,.ui-toolbar,.utility-well,.utility-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.utility-feature-strip,.utility-feature-item,.utility-callout-bar,.utility-media-scrim,.blueprint-surface,.blueprint-surface-sm,.blueprint-surface-lg,.ui-card,.blueprint-card-service,.blueprint-card-feature,.blueprint-panel,.ui-toolbar,.blueprint-well,.blueprint-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.blueprint-feature-strip,.blueprint-feature-item,.blueprint-callout-bar,.blueprint-media-scrim,.deco-surface,.deco-surface-sm,.deco-surface-lg,.ui-card,.deco-card-service,.deco-card-feature,.deco-panel,.ui-toolbar,.deco-well,.deco-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.deco-feature-strip,.deco-feature-item,.deco-callout-bar,.deco-media-scrim,.clay-surface,.clay-surface-sm,.clay-surface-lg,.ui-card,.clay-card-service,.clay-card-feature,.clay-panel,.ui-toolbar,.clay-well,.clay-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.clay-feature-strip,.clay-feature-item,.clay-callout-bar,.clay-media-scrim,.terminal-surface,.terminal-surface-sm,.terminal-surface-lg,.ui-card,.terminal-card-service,.terminal-card-feature,.terminal-panel,.ui-toolbar,.terminal-well,.terminal-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.terminal-feature-strip,.terminal-feature-item,.terminal-callout-bar,.terminal-media-scrim,.paper-surface,.paper-surface-sm,.paper-surface-lg,.ui-card,.paper-card-service,.paper-card-feature,.paper-panel,.ui-toolbar,.paper-well,.paper-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.paper-feature-strip,.paper-feature-item,.paper-callout-bar,.paper-media-scrim,.noir-surface,.noir-surface-sm,.noir-surface-lg,.ui-card,.noir-card-service,.noir-card-feature,.noir-panel,.ui-toolbar,.noir-well,.noir-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.noir-feature-strip,.noir-feature-item,.noir-callout-bar,.noir-media-scrim) {
3309
+ ), [data-ui]:where([data-ui="tactile"])[data-mode] :where(.luxe-surface,.luxe-surface-sm,.luxe-surface-lg,.ui-card,.luxe-card-service,.luxe-card-feature,.luxe-panel,.ui-toolbar,.luxe-well,.luxe-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.luxe-feature-strip,.luxe-feature-item,.luxe-callout-bar,.luxe-media-scrim,.organic-surface,.organic-surface-sm,.organic-surface-lg,.ui-card,.organic-card-service,.organic-card-feature,.organic-panel,.ui-toolbar,.organic-well,.organic-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.organic-feature-strip,.organic-feature-item,.organic-callout-bar,.organic-media-scrim,.utility-surface,.utility-surface-sm,.utility-surface-lg,.ui-card,.utility-card-service,.utility-card-feature,.utility-panel,.ui-toolbar,.utility-well,.utility-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.utility-feature-strip,.utility-feature-item,.utility-callout-bar,.utility-media-scrim,.blueprint-surface,.blueprint-surface-sm,.blueprint-surface-lg,.ui-card,.blueprint-card-service,.blueprint-card-feature,.blueprint-panel,.ui-toolbar,.blueprint-well,.blueprint-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.blueprint-feature-strip,.blueprint-feature-item,.blueprint-callout-bar,.blueprint-media-scrim,.deco-surface,.deco-surface-sm,.deco-surface-lg,.ui-card,.deco-card-service,.deco-card-feature,.deco-panel,.ui-toolbar,.deco-well,.deco-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.deco-feature-strip,.deco-feature-item,.deco-callout-bar,.deco-media-scrim,.clay-surface,.clay-surface-sm,.clay-surface-lg,.ui-card,.clay-card-service,.clay-card-feature,.clay-panel,.ui-toolbar,.clay-well,.clay-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.clay-feature-strip,.clay-feature-item,.clay-callout-bar,.clay-media-scrim,.terminal-surface,.terminal-surface-sm,.terminal-surface-lg,.ui-card,.terminal-card-service,.terminal-card-feature,.terminal-panel,.ui-toolbar,.terminal-well,.terminal-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.terminal-feature-strip,.terminal-feature-item,.terminal-callout-bar,.terminal-media-scrim,.paper-surface,.paper-surface-sm,.paper-surface-lg,.ui-card,.paper-card-service,.paper-card-feature,.paper-panel,.ui-toolbar,.paper-well,.paper-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.paper-feature-strip,.paper-feature-item,.paper-callout-bar,.paper-media-scrim,.noir-surface,.noir-surface-sm,.noir-surface-lg,.ui-card,.noir-card-service,.noir-card-feature,.noir-panel,.ui-toolbar,.noir-well,.noir-inset,.ui-field,.ui-alert,.ui-table-wrap,.ui-nav,.noir-feature-strip,.noir-feature-item,.noir-callout-bar,.noir-media-scrim) {
3065
3310
  max-inline-size: 100%;
3066
3311
  min-inline-size: 0;
3067
- overflow-wrap: anywhere;
3068
3312
  }
3069
3313
 
3070
- [data-ui][data-theme][data-mode] :where(
3314
+ [data-ui][data-mode] :where(
3071
3315
  .luxe-button,
3072
3316
  .luxe-icon-button,
3073
3317
  .luxe-button-cut,
@@ -3140,13 +3384,15 @@
3140
3384
  .noir-badge-seal,
3141
3385
  .noir-nav-link,
3142
3386
  .noir-icon-medallion
3143
- ), [data-ui]:where([data-ui="tactile"])[data-theme][data-mode] :where(.ui-button,.ui-icon-button,.luxe-button-cut,.luxe-button-outline-heavy,.ui-badge,.luxe-badge-seal,.ui-nav-link,.luxe-icon-medallion,.ui-button,.ui-icon-button,.organic-button-cut,.organic-button-outline-heavy,.ui-badge,.organic-badge-seal,.ui-nav-link,.organic-icon-medallion,.ui-button,.ui-icon-button,.utility-button-cut,.utility-button-outline-heavy,.ui-badge,.utility-badge-seal,.ui-nav-link,.utility-icon-medallion,.ui-button,.ui-icon-button,.blueprint-button-cut,.blueprint-button-outline-heavy,.ui-badge,.blueprint-badge-seal,.ui-nav-link,.blueprint-icon-medallion,.ui-button,.ui-icon-button,.deco-button-cut,.deco-button-outline-heavy,.ui-badge,.deco-badge-seal,.ui-nav-link,.deco-icon-medallion,.ui-button,.ui-icon-button,.clay-button-cut,.clay-button-outline-heavy,.ui-badge,.clay-badge-seal,.ui-nav-link,.clay-icon-medallion,.ui-button,.ui-icon-button,.terminal-button-cut,.terminal-button-outline-heavy,.ui-badge,.terminal-badge-seal,.ui-nav-link,.terminal-icon-medallion,.ui-button,.ui-icon-button,.paper-button-cut,.paper-button-outline-heavy,.ui-badge,.paper-badge-seal,.ui-nav-link,.paper-icon-medallion,.ui-button,.ui-icon-button,.noir-button-cut,.noir-button-outline-heavy,.ui-badge,.noir-badge-seal,.ui-nav-link,.noir-icon-medallion) {
3387
+ ), [data-ui]:where([data-ui="tactile"])[data-mode] :where(.ui-button,.ui-icon-button,.luxe-button-cut,.luxe-button-outline-heavy,.ui-badge,.luxe-badge-seal,.ui-nav-link,.luxe-icon-medallion,.ui-button,.ui-icon-button,.organic-button-cut,.organic-button-outline-heavy,.ui-badge,.organic-badge-seal,.ui-nav-link,.organic-icon-medallion,.ui-button,.ui-icon-button,.utility-button-cut,.utility-button-outline-heavy,.ui-badge,.utility-badge-seal,.ui-nav-link,.utility-icon-medallion,.ui-button,.ui-icon-button,.blueprint-button-cut,.blueprint-button-outline-heavy,.ui-badge,.blueprint-badge-seal,.ui-nav-link,.blueprint-icon-medallion,.ui-button,.ui-icon-button,.deco-button-cut,.deco-button-outline-heavy,.ui-badge,.deco-badge-seal,.ui-nav-link,.deco-icon-medallion,.ui-button,.ui-icon-button,.clay-button-cut,.clay-button-outline-heavy,.ui-badge,.clay-badge-seal,.ui-nav-link,.clay-icon-medallion,.ui-button,.ui-icon-button,.terminal-button-cut,.terminal-button-outline-heavy,.ui-badge,.terminal-badge-seal,.ui-nav-link,.terminal-icon-medallion,.ui-button,.ui-icon-button,.paper-button-cut,.paper-button-outline-heavy,.ui-badge,.paper-badge-seal,.ui-nav-link,.paper-icon-medallion,.ui-button,.ui-icon-button,.noir-button-cut,.noir-button-outline-heavy,.ui-badge,.noir-badge-seal,.ui-nav-link,.noir-icon-medallion) {
3144
3388
  max-inline-size: 100%;
3145
3389
  min-inline-size: 0;
3390
+ overflow-wrap: break-word;
3391
+ word-break: normal;
3146
3392
  white-space: normal;
3147
3393
  }
3148
3394
 
3149
- [data-ui][data-theme][data-mode] :where(
3395
+ [data-ui][data-mode] :where(
3150
3396
  .luxe-button,
3151
3397
  .luxe-icon-button,
3152
3398
  .luxe-button-pill,
@@ -3174,7 +3420,7 @@
3174
3420
  .noir-button,
3175
3421
  .noir-icon-button,
3176
3422
  .noir-button-pill
3177
- ), [data-ui]:where([data-ui="tactile"])[data-theme][data-mode] :where(.ui-button,.ui-icon-button,.luxe-button-pill,.ui-button,.ui-icon-button,.organic-button-pill,.ui-button,.ui-icon-button,.utility-button-pill,.ui-button,.ui-icon-button,.blueprint-button-pill,.ui-button,.ui-icon-button,.deco-button-pill,.ui-button,.ui-icon-button,.clay-button-pill,.ui-button,.ui-icon-button,.terminal-button-pill,.ui-button,.ui-icon-button,.paper-button-pill,.ui-button,.ui-icon-button,.noir-button-pill) {
3423
+ ), [data-ui]:where([data-ui="tactile"])[data-mode] :where(.ui-button,.ui-icon-button,.luxe-button-pill,.ui-button,.ui-icon-button,.organic-button-pill,.ui-button,.ui-icon-button,.utility-button-pill,.ui-button,.ui-icon-button,.blueprint-button-pill,.ui-button,.ui-icon-button,.deco-button-pill,.ui-button,.ui-icon-button,.clay-button-pill,.ui-button,.ui-icon-button,.terminal-button-pill,.ui-button,.ui-icon-button,.paper-button-pill,.ui-button,.ui-icon-button,.noir-button-pill) {
3178
3424
  box-sizing: border-box;
3179
3425
  display: inline-flex;
3180
3426
  align-items: center;
@@ -3186,7 +3432,7 @@
3186
3432
  vertical-align: middle;
3187
3433
  }
3188
3434
 
3189
- [data-ui][data-theme][data-mode] :where(
3435
+ [data-ui][data-mode] :where(
3190
3436
  .luxe-button-pill,
3191
3437
  .organic-button-pill,
3192
3438
  .utility-button-pill,
@@ -3207,7 +3453,8 @@
3207
3453
  font-weight: 850;
3208
3454
  text-align: center;
3209
3455
  text-decoration: none;
3210
- overflow-wrap: anywhere;
3456
+ overflow-wrap: break-word;
3457
+ word-break: normal;
3211
3458
  white-space: normal;
3212
3459
  cursor: pointer;
3213
3460
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, filter 160ms ease;
@@ -3294,7 +3541,7 @@
3294
3541
  .noir-rounded-xl { border-radius: var(--noir-radius-xl); }
3295
3542
  .noir-surface, .noir-surface-sm, .noir-surface-lg { color: var(--noir-text); background: var(--noir-card-bg); border: 1px solid var(--noir-border); }
3296
3543
 
3297
- [data-ui][data-theme][data-mode] :where(
3544
+ [data-ui][data-mode] :where(
3298
3545
  .luxe-button-pill:active,
3299
3546
  .luxe-button-pill[aria-pressed="true"],
3300
3547
  .organic-button-pill:active,
@@ -3315,7 +3562,7 @@
3315
3562
  .noir-button-pill[aria-pressed="true"]
3316
3563
  ) { transform: translateY(1px); }
3317
3564
 
3318
- [data-ui][data-theme][data-mode] :where(
3565
+ [data-ui][data-mode] :where(
3319
3566
  .luxe-button-pill:disabled,
3320
3567
  .luxe-button-pill[aria-disabled="true"],
3321
3568
  .organic-button-pill:disabled,
@@ -3336,7 +3583,7 @@
3336
3583
  .noir-button-pill[aria-disabled="true"]
3337
3584
  ) { opacity: .55; cursor: not-allowed; filter: none; transform: none; }
3338
3585
 
3339
- [data-ui][data-theme][data-mode] :where(
3586
+ [data-ui][data-mode] :where(
3340
3587
  .luxe-tooltip,
3341
3588
  .luxe-tooltip-top,
3342
3589
  .luxe-tooltip-right,
@@ -3382,9 +3629,9 @@
3382
3629
  .noir-tooltip-right,
3383
3630
  .noir-tooltip-bottom,
3384
3631
  .noir-tooltip-left
3385
- ) { max-inline-size: min(18rem, calc(100vw - 2rem)); text-align: start; overflow-wrap: anywhere; }
3632
+ ) { max-inline-size: min(18rem, calc(100vw - 2rem)); text-align: start; overflow-wrap: break-word; word-break: normal; }
3386
3633
 
3387
- [data-ui][data-theme][data-mode] :where(
3634
+ [data-ui][data-mode] :where(
3388
3635
  [data-ui-tooltip-anchor] > .luxe-tooltip-top,
3389
3636
  [data-ui-tooltip-anchor] > .luxe-tooltip-right,
3390
3637
  [data-ui-tooltip-anchor] > .luxe-tooltip-bottom,
@@ -3423,10 +3670,10 @@
3423
3670
  [data-ui-tooltip-anchor] > .noir-tooltip-left
3424
3671
  ) { position: absolute; z-index: 20; }
3425
3672
 
3426
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-top, [data-ui-tooltip-anchor] > .organic-tooltip-top, [data-ui-tooltip-anchor] > .utility-tooltip-top, [data-ui-tooltip-anchor] > .blueprint-tooltip-top, [data-ui-tooltip-anchor] > .deco-tooltip-top, [data-ui-tooltip-anchor] > .clay-tooltip-top, [data-ui-tooltip-anchor] > .terminal-tooltip-top, [data-ui-tooltip-anchor] > .paper-tooltip-top, [data-ui-tooltip-anchor] > .noir-tooltip-top) { inset-block-end: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
3427
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-right, [data-ui-tooltip-anchor] > .organic-tooltip-right, [data-ui-tooltip-anchor] > .utility-tooltip-right, [data-ui-tooltip-anchor] > .blueprint-tooltip-right, [data-ui-tooltip-anchor] > .deco-tooltip-right, [data-ui-tooltip-anchor] > .clay-tooltip-right, [data-ui-tooltip-anchor] > .terminal-tooltip-right, [data-ui-tooltip-anchor] > .paper-tooltip-right, [data-ui-tooltip-anchor] > .noir-tooltip-right) { inset-inline-start: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
3428
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-bottom, [data-ui-tooltip-anchor] > .organic-tooltip-bottom, [data-ui-tooltip-anchor] > .utility-tooltip-bottom, [data-ui-tooltip-anchor] > .blueprint-tooltip-bottom, [data-ui-tooltip-anchor] > .deco-tooltip-bottom, [data-ui-tooltip-anchor] > .clay-tooltip-bottom, [data-ui-tooltip-anchor] > .terminal-tooltip-bottom, [data-ui-tooltip-anchor] > .paper-tooltip-bottom, [data-ui-tooltip-anchor] > .noir-tooltip-bottom) { inset-block-start: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
3429
- [data-ui][data-theme][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-left, [data-ui-tooltip-anchor] > .organic-tooltip-left, [data-ui-tooltip-anchor] > .utility-tooltip-left, [data-ui-tooltip-anchor] > .blueprint-tooltip-left, [data-ui-tooltip-anchor] > .deco-tooltip-left, [data-ui-tooltip-anchor] > .clay-tooltip-left, [data-ui-tooltip-anchor] > .terminal-tooltip-left, [data-ui-tooltip-anchor] > .paper-tooltip-left, [data-ui-tooltip-anchor] > .noir-tooltip-left) { inset-inline-end: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
3673
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-top, [data-ui-tooltip-anchor] > .organic-tooltip-top, [data-ui-tooltip-anchor] > .utility-tooltip-top, [data-ui-tooltip-anchor] > .blueprint-tooltip-top, [data-ui-tooltip-anchor] > .deco-tooltip-top, [data-ui-tooltip-anchor] > .clay-tooltip-top, [data-ui-tooltip-anchor] > .terminal-tooltip-top, [data-ui-tooltip-anchor] > .paper-tooltip-top, [data-ui-tooltip-anchor] > .noir-tooltip-top) { inset-block-end: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
3674
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-right, [data-ui-tooltip-anchor] > .organic-tooltip-right, [data-ui-tooltip-anchor] > .utility-tooltip-right, [data-ui-tooltip-anchor] > .blueprint-tooltip-right, [data-ui-tooltip-anchor] > .deco-tooltip-right, [data-ui-tooltip-anchor] > .clay-tooltip-right, [data-ui-tooltip-anchor] > .terminal-tooltip-right, [data-ui-tooltip-anchor] > .paper-tooltip-right, [data-ui-tooltip-anchor] > .noir-tooltip-right) { inset-inline-start: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
3675
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-bottom, [data-ui-tooltip-anchor] > .organic-tooltip-bottom, [data-ui-tooltip-anchor] > .utility-tooltip-bottom, [data-ui-tooltip-anchor] > .blueprint-tooltip-bottom, [data-ui-tooltip-anchor] > .deco-tooltip-bottom, [data-ui-tooltip-anchor] > .clay-tooltip-bottom, [data-ui-tooltip-anchor] > .terminal-tooltip-bottom, [data-ui-tooltip-anchor] > .paper-tooltip-bottom, [data-ui-tooltip-anchor] > .noir-tooltip-bottom) { inset-block-start: calc(100% + .5rem); inset-inline-start: 50%; transform: translateX(-50%); }
3676
+ [data-ui][data-mode] :where([data-ui-tooltip-anchor] > .luxe-tooltip-left, [data-ui-tooltip-anchor] > .organic-tooltip-left, [data-ui-tooltip-anchor] > .utility-tooltip-left, [data-ui-tooltip-anchor] > .blueprint-tooltip-left, [data-ui-tooltip-anchor] > .deco-tooltip-left, [data-ui-tooltip-anchor] > .clay-tooltip-left, [data-ui-tooltip-anchor] > .terminal-tooltip-left, [data-ui-tooltip-anchor] > .paper-tooltip-left, [data-ui-tooltip-anchor] > .noir-tooltip-left) { inset-inline-end: calc(100% + .5rem); inset-block-start: 50%; transform: translateY(-50%); }
3430
3677
 
3431
3678
  :where(.luxe-bg-primary, .organic-bg-primary, .utility-bg-primary, .blueprint-bg-primary, .deco-bg-primary, .clay-bg-primary, .terminal-bg-primary, .paper-bg-primary, .noir-bg-primary) { background: var(--usk-native-primary); color: var(--usk-native-on-primary); }
3432
3679
  :where(.luxe-bg-secondary, .organic-bg-secondary, .utility-bg-secondary, .blueprint-bg-secondary, .deco-bg-secondary, .clay-bg-secondary, .terminal-bg-secondary, .paper-bg-secondary, .noir-bg-secondary) { background: var(--usk-native-surface-soft); color: var(--usk-native-text); }
@@ -3507,16 +3754,16 @@
3507
3754
  @layer ui-style-kit.presets {
3508
3755
  :root {
3509
3756
  --tactile-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
3510
- --tactile-font-display: Inter, ui-sans-serif, system-ui, sans-serif;
3757
+ --tactile-font-display: Georgia, Cambria, "Times New Roman", Times, serif;
3511
3758
  --tactile-font-body: var(--tactile-font-sans);
3512
3759
  --tactile-font-heading: var(--tactile-font-display);
3513
- --tactile-font-control: var(--tactile-font-display);
3760
+ --tactile-font-control: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
3514
3761
  --tactile-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
3515
- --tactile-radius-xs: .25rem;
3516
- --tactile-radius-sm: .5rem;
3517
- --tactile-radius-md: .9rem;
3518
- --tactile-radius-lg: 1.4rem;
3519
- --tactile-radius-xl: calc(1.4rem + .5rem);
3762
+ --tactile-radius-xs: .1rem;
3763
+ --tactile-radius-sm: .18rem;
3764
+ --tactile-radius-md: .28rem;
3765
+ --tactile-radius-lg: .4rem;
3766
+ --tactile-radius-xl: .6rem;
3520
3767
  --tactile-radius-pill: 999px;
3521
3768
  --tactile-space-1: .25rem;
3522
3769
  --tactile-space-2: .5rem;
@@ -3533,33 +3780,108 @@
3533
3780
  --lightningcss-light: initial;
3534
3781
  --lightningcss-dark: ;
3535
3782
  color-scheme: light;
3783
+ --tactile-fallback-bg-rgb: 248 242 231;
3784
+ --tactile-fallback-surface-rgb: 255 255 255;
3785
+ --tactile-fallback-surface-strong-rgb: 255 250 241;
3786
+ --tactile-fallback-surface-soft-rgb: 234 223 205;
3787
+ --tactile-fallback-text-rgb: 43 36 25;
3788
+ --tactile-fallback-text-muted-rgb: 107 97 78;
3789
+ --tactile-fallback-border-rgb: 215 198 167;
3790
+ --tactile-fallback-primary-rgb: 177 60 28;
3791
+ --tactile-fallback-primary-hover-rgb: 145 46 20;
3792
+ --tactile-fallback-primary-text-rgb: 255 255 255;
3793
+ --tactile-fallback-secondary-rgb: 91 104 67;
3794
+ --tactile-fallback-secondary-hover-rgb: 71 84 50;
3795
+ --tactile-fallback-secondary-text-rgb: 255 255 255;
3796
+ --tactile-fallback-accent-rgb: 197 160 82;
3797
+ --tactile-fallback-accent-text-rgb: 0 0 0;
3798
+ --tactile-fallback-success-rgb: 91 104 67;
3799
+ --tactile-fallback-success-text-rgb: 255 255 255;
3800
+ --tactile-fallback-warning-rgb: 166 107 0;
3801
+ --tactile-fallback-warning-text-rgb: 0 0 0;
3802
+ --tactile-fallback-danger-rgb: 174 74 63;
3803
+ --tactile-fallback-danger-text-rgb: 255 255 255;
3804
+ --tactile-fallback-link-rgb: 112 83 47;
3805
+ --tactile-fallback-focus-rgb: 201 151 74;
3536
3806
  --tactile-panel-alpha: .98;
3537
- --tactile-panel-soft-alpha: .78;
3538
- --tactile-border-alpha: .58;
3539
- --tactile-shadow-alpha: .12;
3807
+ --tactile-panel-soft-alpha: .82;
3808
+ --tactile-border-alpha: .68;
3809
+ --tactile-shadow-alpha: .16;
3540
3810
  --tactile-focus-alpha: .34;
3811
+ --tactile-paper-alpha: .96;
3812
+ --tactile-sidebar-alpha: .94;
3541
3813
  }
3542
3814
 
3543
3815
  [data-ui="tactile"][data-mode="dark"] {
3544
3816
  --lightningcss-light: ;
3545
3817
  --lightningcss-dark: initial;
3546
3818
  color-scheme: dark;
3819
+ --tactile-fallback-bg-rgb: 18 15 9;
3820
+ --tactile-fallback-surface-rgb: 33 27 18;
3821
+ --tactile-fallback-surface-strong-rgb: 47 40 27;
3822
+ --tactile-fallback-surface-soft-rgb: 25 20 13;
3823
+ --tactile-fallback-text-rgb: 248 239 223;
3824
+ --tactile-fallback-text-muted-rgb: 199 186 163;
3825
+ --tactile-fallback-border-rgb: 91 78 56;
3826
+ --tactile-fallback-primary-rgb: 211 83 43;
3827
+ --tactile-fallback-primary-hover-rgb: 230 107 63;
3828
+ --tactile-fallback-primary-text-rgb: 21 16 6;
3829
+ --tactile-fallback-secondary-rgb: 131 145 92;
3830
+ --tactile-fallback-secondary-hover-rgb: 155 169 112;
3831
+ --tactile-fallback-secondary-text-rgb: 9 20 7;
3832
+ --tactile-fallback-accent-rgb: 222 181 91;
3833
+ --tactile-fallback-accent-text-rgb: 0 0 0;
3834
+ --tactile-fallback-success-rgb: 131 145 92;
3835
+ --tactile-fallback-success-text-rgb: 0 0 0;
3836
+ --tactile-fallback-warning-rgb: 255 209 102;
3837
+ --tactile-fallback-warning-text-rgb: 0 0 0;
3838
+ --tactile-fallback-danger-rgb: 255 136 122;
3839
+ --tactile-fallback-danger-text-rgb: 0 0 0;
3840
+ --tactile-fallback-link-rgb: 240 211 154;
3841
+ --tactile-fallback-focus-rgb: 241 196 110;
3547
3842
  --tactile-panel-alpha: .92;
3548
- --tactile-panel-soft-alpha: .64;
3549
- --tactile-border-alpha: .52;
3843
+ --tactile-panel-soft-alpha: .68;
3844
+ --tactile-border-alpha: .62;
3550
3845
  --tactile-shadow-alpha: .34;
3551
3846
  --tactile-focus-alpha: .42;
3847
+ --tactile-paper-alpha: .88;
3848
+ --tactile-sidebar-alpha: .96;
3552
3849
  }
3553
3850
 
3554
3851
  [data-ui="tactile"][data-mode="contrast"] {
3555
3852
  --lightningcss-light: ;
3556
3853
  --lightningcss-dark: initial;
3557
3854
  color-scheme: dark;
3855
+ --tactile-fallback-bg-rgb: 0 0 0;
3856
+ --tactile-fallback-surface-rgb: 15 11 3;
3857
+ --tactile-fallback-surface-strong-rgb: 26 18 5;
3858
+ --tactile-fallback-surface-soft-rgb: 0 0 0;
3859
+ --tactile-fallback-text-rgb: 255 255 255;
3860
+ --tactile-fallback-text-muted-rgb: 255 248 232;
3861
+ --tactile-fallback-border-rgb: 255 255 255;
3862
+ --tactile-fallback-primary-rgb: 255 209 102;
3863
+ --tactile-fallback-primary-hover-rgb: 255 255 255;
3864
+ --tactile-fallback-primary-text-rgb: 0 0 0;
3865
+ --tactile-fallback-secondary-rgb: 157 255 107;
3866
+ --tactile-fallback-secondary-hover-rgb: 255 255 255;
3867
+ --tactile-fallback-secondary-text-rgb: 0 0 0;
3868
+ --tactile-fallback-accent-rgb: 255 176 0;
3869
+ --tactile-fallback-accent-text-rgb: 0 0 0;
3870
+ --tactile-fallback-success-rgb: 0 255 117;
3871
+ --tactile-fallback-success-text-rgb: 0 0 0;
3872
+ --tactile-fallback-warning-rgb: 255 225 0;
3873
+ --tactile-fallback-warning-text-rgb: 0 0 0;
3874
+ --tactile-fallback-danger-rgb: 255 77 77;
3875
+ --tactile-fallback-danger-text-rgb: 0 0 0;
3876
+ --tactile-fallback-link-rgb: 255 209 102;
3877
+ --tactile-fallback-focus-rgb: 255 255 255;
3558
3878
  --tactile-panel-alpha: 1;
3559
3879
  --tactile-panel-soft-alpha: .92;
3560
3880
  --tactile-border-alpha: 1;
3561
3881
  --tactile-shadow-alpha: .5;
3562
3882
  --tactile-focus-alpha: .72;
3883
+ --tactile-paper-alpha: 1;
3884
+ --tactile-sidebar-alpha: 1;
3563
3885
  }
3564
3886
 
3565
3887
  [data-ui="tactile"][data-theme][data-mode] {
@@ -3577,15 +3899,42 @@
3577
3899
  --tactile-secondary-hover-rgb: var(--usk-secondary-hover-rgb);
3578
3900
  --tactile-secondary-text-rgb: var(--usk-secondary-text-rgb);
3579
3901
  --tactile-accent-rgb: var(--usk-accent-rgb);
3580
- --tactile-success-rgb: var(--usk-success-rgb);
3581
- --tactile-warning-rgb: var(--usk-warning-rgb);
3582
- --tactile-danger-rgb: var(--usk-danger-rgb);
3583
- --tactile-link-rgb: var(--usk-link-rgb);
3584
3902
  --tactile-accent-text-rgb: var(--usk-accent-text-rgb);
3903
+ --tactile-success-rgb: var(--usk-success-rgb);
3585
3904
  --tactile-success-text-rgb: var(--usk-success-text-rgb);
3905
+ --tactile-warning-rgb: var(--usk-warning-rgb);
3586
3906
  --tactile-warning-text-rgb: var(--usk-warning-text-rgb);
3907
+ --tactile-danger-rgb: var(--usk-danger-rgb);
3587
3908
  --tactile-danger-text-rgb: var(--usk-danger-text-rgb);
3909
+ --tactile-link-rgb: var(--usk-link-rgb);
3588
3910
  --tactile-focus-rgb: var(--usk-focus-rgb);
3911
+ }
3912
+
3913
+ [data-ui="tactile"][data-mode] {
3914
+ --usk-native-bg: var(--tactile-bg);
3915
+ --tactile-bg-rgb: var(--usk-bg-rgb, var(--tactile-fallback-bg-rgb));
3916
+ --tactile-surface-rgb: var(--usk-surface-rgb, var(--tactile-fallback-surface-rgb));
3917
+ --tactile-surface-strong-rgb: var(--usk-surface-strong-rgb, var(--tactile-fallback-surface-strong-rgb));
3918
+ --tactile-surface-soft-rgb: var(--usk-surface-soft-rgb, var(--tactile-fallback-surface-soft-rgb));
3919
+ --tactile-text-rgb: var(--usk-text-rgb, var(--tactile-fallback-text-rgb));
3920
+ --tactile-text-muted-rgb: var(--usk-text-muted-rgb, var(--tactile-fallback-text-muted-rgb));
3921
+ --tactile-border-rgb: var(--usk-border-rgb, var(--tactile-fallback-border-rgb));
3922
+ --tactile-primary-rgb: var(--usk-primary-rgb, var(--tactile-fallback-primary-rgb));
3923
+ --tactile-primary-hover-rgb: var(--usk-primary-hover-rgb, var(--tactile-fallback-primary-hover-rgb));
3924
+ --tactile-primary-text-rgb: var(--usk-primary-text-rgb, var(--tactile-fallback-primary-text-rgb));
3925
+ --tactile-secondary-rgb: var(--usk-secondary-rgb, var(--tactile-fallback-secondary-rgb));
3926
+ --tactile-secondary-hover-rgb: var(--usk-secondary-hover-rgb, var(--tactile-fallback-secondary-hover-rgb));
3927
+ --tactile-secondary-text-rgb: var(--usk-secondary-text-rgb, var(--tactile-fallback-secondary-text-rgb));
3928
+ --tactile-accent-rgb: var(--usk-accent-rgb, var(--tactile-fallback-accent-rgb));
3929
+ --tactile-accent-text-rgb: var(--usk-accent-text-rgb, var(--tactile-fallback-accent-text-rgb));
3930
+ --tactile-success-rgb: var(--usk-success-rgb, var(--tactile-fallback-success-rgb));
3931
+ --tactile-success-text-rgb: var(--usk-success-text-rgb, var(--tactile-fallback-success-text-rgb));
3932
+ --tactile-warning-rgb: var(--usk-warning-rgb, var(--tactile-fallback-warning-rgb));
3933
+ --tactile-warning-text-rgb: var(--usk-warning-text-rgb, var(--tactile-fallback-warning-text-rgb));
3934
+ --tactile-danger-rgb: var(--usk-danger-rgb, var(--tactile-fallback-danger-rgb));
3935
+ --tactile-danger-text-rgb: var(--usk-danger-text-rgb, var(--tactile-fallback-danger-text-rgb));
3936
+ --tactile-link-rgb: var(--usk-link-rgb, var(--tactile-fallback-link-rgb));
3937
+ --tactile-focus-rgb: var(--usk-focus-rgb, var(--tactile-fallback-focus-rgb));
3589
3938
  --usk-native-surface: var(--tactile-surface);
3590
3939
  --usk-native-surface-strong: var(--tactile-surface-strong);
3591
3940
  --usk-native-surface-soft: var(--tactile-surface-soft);
@@ -3606,15 +3955,66 @@
3606
3955
  --usk-native-font-heading: var(--tactile-font-heading);
3607
3956
  --usk-native-font-control: var(--tactile-font-control);
3608
3957
  --usk-native-font-mono: var(--tactile-font-mono);
3609
- --usk-native-radius-sm: var(--tactile-radius-sm);
3958
+ --usk-native-radius-sm: var(--tactile-radius-xs);
3610
3959
  --usk-native-radius: var(--tactile-radius-md);
3611
3960
  --usk-native-radius-lg: var(--tactile-radius-lg);
3612
- --usk-native-shadow: var(--tactile-shadow-sm, none);
3613
- --usk-native-shadow-md: var(--tactile-shadow-md, var(--usk-native-shadow));
3961
+ --usk-native-shadow: var(--tactile-button-shadow);
3962
+ --usk-native-shadow-md: var(--tactile-panel-shadow);
3614
3963
  --usk-native-focus-ring: var(--tactile-focus-ring, 0 0 0 3px rgb(var(--tactile-focus-rgb) / .28));
3615
3964
  --usk-native-border-width: 1px;
3616
3965
  --usk-native-field-gap: .5rem;
3617
3966
  --usk-native-panel-padding: var(--tactile-space-5);
3967
+ --usk-native-control-min-block-size: 3rem;
3968
+ --usk-native-control-padding-block: .74rem;
3969
+ --usk-native-control-padding-inline: .95rem;
3970
+ --usk-native-subcontrol-padding-block: .58rem;
3971
+ --usk-native-subcontrol-padding-inline: .72rem;
3972
+ --usk-native-choice-size: 1.35rem;
3973
+ --usk-native-choice-background: var(--tactile-control-bg);
3974
+ --usk-native-choice-border: 1px solid var(--tactile-keyline);
3975
+ --usk-native-checkbox-radius: .18rem;
3976
+ --usk-native-radio-radius: 50%;
3977
+ --usk-native-choice-shadow: var(--tactile-inset-shadow);
3978
+ --usk-native-choice-checked-background: var(--tactile-action-solid);
3979
+ --usk-native-choice-mark-color: var(--tactile-on-primary);
3980
+ --usk-native-select-indicator-image: linear-gradient(45deg, transparent 50%, var(--tactile-text) 50%), linear-gradient(135deg, var(--tactile-text) 50%, transparent 50%);
3981
+ --usk-native-select-indicator-size: .5rem .5rem, .5rem .5rem;
3982
+ --usk-native-select-indicator-position: calc(100% - 1rem) 50%, calc(100% - .72rem) 50%;
3983
+ --usk-native-select-padding-inline-end: 2.25rem;
3984
+ --usk-native-range-track-size: .56rem;
3985
+ --usk-native-range-track-background: var(--tactile-recessed-track);
3986
+ --usk-native-range-track-border: 1px solid var(--tactile-track-rim);
3987
+ --usk-native-range-track-radius: .2rem;
3988
+ --usk-native-range-track-shadow: var(--tactile-deep-inset-shadow);
3989
+ --usk-native-range-progress-background: var(--tactile-action-solid);
3990
+ --usk-native-range-thumb-size: 1.55rem;
3991
+ --usk-native-range-thumb-background: var(--tactile-thumb-bg);
3992
+ --usk-native-range-thumb-border: 1px solid var(--tactile-keyline);
3993
+ --usk-native-range-thumb-radius: .22rem;
3994
+ --usk-native-range-thumb-shadow: var(--tactile-button-shadow);
3995
+ --usk-native-progress-size: .76rem;
3996
+ --usk-native-progress-track-background: var(--tactile-recessed-track);
3997
+ --usk-native-progress-track-border: 1px solid var(--tactile-track-rim);
3998
+ --usk-native-progress-track-radius: .18rem;
3999
+ --usk-native-progress-track-shadow: var(--tactile-deep-inset-shadow);
4000
+ --usk-native-progress-value-background: var(--tactile-progress-fill);
4001
+ --usk-native-progress-value-radius: .12rem;
4002
+ --usk-native-progress-value-shadow: inset 0 1px 0 rgb(var(--tactile-surface-strong-rgb) / .22);
4003
+ --usk-native-meter-optimum-background: var(--tactile-success);
4004
+ --usk-native-meter-suboptimum-background: var(--tactile-warning);
4005
+ --usk-native-meter-critical-background: var(--tactile-danger);
4006
+ --usk-native-file-button-background: var(--tactile-action-solid);
4007
+ --usk-native-file-button-border: 1px solid var(--tactile-keyline);
4008
+ --usk-native-file-button-radius: .22rem;
4009
+ --usk-native-file-button-shadow: var(--tactile-button-shadow);
4010
+ --usk-native-color-swatch-border: 1px solid var(--tactile-keyline);
4011
+ --usk-native-color-swatch-radius: .18rem;
4012
+ --usk-native-indicator-opacity: .92;
4013
+ --usk-native-indicator-filter: none;
4014
+ --usk-native-scrollbar-size: .85rem;
4015
+ --usk-native-scrollbar-track: var(--tactile-recessed-track);
4016
+ --usk-native-scrollbar-thumb: var(--tactile-thumb-bg);
4017
+ --usk-native-scrollbar-radius: .18rem;
3618
4018
  --tactile-bg: rgb(var(--tactile-bg-rgb));
3619
4019
  --tactile-surface: rgb(var(--tactile-surface-rgb) / var(--tactile-panel-alpha));
3620
4020
  --tactile-surface-strong: rgb(var(--tactile-surface-strong-rgb) / var(--tactile-panel-alpha));
@@ -3645,23 +4045,46 @@
3645
4045
  --tactile-link: rgb(var(--tactile-link-rgb));
3646
4046
  --tactile-focus: rgb(var(--tactile-focus-rgb));
3647
4047
  --tactile-focus-ring: 0 0 0 3px rgb(var(--tactile-focus-rgb) / var(--tactile-focus-alpha));
4048
+ --tactile-paper-wash: rgb(var(--tactile-warning-rgb) / .14);
4049
+ --tactile-bevel-highlight: rgb(var(--tactile-surface-strong-rgb) / .82);
4050
+ --tactile-bevel-shadow: rgb(var(--tactile-text-rgb) / .24);
3648
4051
  --tactile-theme-bg-size: auto;
3649
- --tactile-theme-bg: radial-gradient(circle at 0% 0%, rgb(var(--tactile-primary-rgb) / .16), transparent 32rem), radial-gradient(circle at 100% 0%, rgb(var(--tactile-accent-rgb) / .12), transparent 30rem), radial-gradient(circle at 50% 100%, rgb(var(--tactile-secondary-rgb) / .1), transparent 34rem), var(--tactile-bg);
3650
- --tactile-card-bg: linear-gradient(135deg, rgb(var(--tactile-primary-rgb) / .1), rgb(var(--tactile-accent-rgb) / .055) 42%, rgb(var(--tactile-surface-strong-rgb) / var(--tactile-panel-alpha)) 100%), var(--tactile-surface);
3651
- --tactile-control-bg: linear-gradient(180deg, rgb(var(--tactile-surface-strong-rgb) / var(--tactile-panel-alpha)), rgb(var(--tactile-surface-soft-rgb) / var(--tactile-panel-soft-alpha)));
4052
+ --tactile-paper-bg: linear-gradient(180deg, var(--tactile-paper-wash), transparent 28rem), linear-gradient(135deg, rgb(var(--tactile-accent-rgb) / .06), transparent 26rem), linear-gradient(180deg, rgb(var(--tactile-surface-strong-rgb) / var(--tactile-paper-alpha)), rgb(var(--tactile-surface-rgb) / var(--tactile-panel-alpha)));
4053
+ --tactile-paper-grain: radial-gradient(circle at 12% 18%, rgb(var(--tactile-text-rgb) / .04) 0 1px, transparent 1.4px), radial-gradient(circle at 68% 34%, rgb(var(--tactile-warning-rgb) / .055) 0 1px, transparent 1.5px), linear-gradient(90deg, rgb(var(--tactile-text-rgb) / .018) 1px, transparent 1px), linear-gradient(180deg, rgb(var(--tactile-warning-rgb) / .055), transparent 18rem);
4054
+ --tactile-theme-bg: var(--tactile-paper-grain), var(--tactile-paper-bg), var(--tactile-bg);
4055
+ --tactile-card-bg: var(--tactile-paper-grain), var(--tactile-paper-bg);
4056
+ --tactile-control-bg: linear-gradient(180deg, rgb(var(--tactile-warning-rgb) / .1), transparent), linear-gradient(180deg, rgb(var(--tactile-surface-strong-rgb) / .86), rgb(var(--tactile-surface-soft-rgb) / .7));
4057
+ --tactile-field-bg: linear-gradient(180deg, rgb(var(--tactile-warning-rgb) / .075), transparent), linear-gradient(180deg, rgb(var(--tactile-surface-soft-rgb) / .8), rgb(var(--tactile-surface-strong-rgb) / .58));
4058
+ --tactile-inset-bg: linear-gradient(180deg, rgb(var(--tactile-warning-rgb) / .08), transparent), linear-gradient(180deg, rgb(var(--tactile-surface-soft-rgb) / .74), rgb(var(--tactile-surface-rgb) / .6));
4059
+ --tactile-recessed-track: rgb(var(--tactile-text-rgb) / .82);
4060
+ --tactile-track-rim: rgb(var(--tactile-text-rgb) / .72);
4061
+ --tactile-thumb-bg: linear-gradient(90deg, rgb(var(--tactile-warning-rgb) / .1), transparent), linear-gradient(90deg, rgb(var(--tactile-surface-strong-rgb) / .98), rgb(var(--tactile-surface-soft-rgb) / .9));
4062
+ --tactile-action-solid: var(--tactile-primary);
4063
+ --tactile-action-bg: linear-gradient(180deg, var(--tactile-primary), var(--tactile-primary-hover));
4064
+ --tactile-action-hover-bg: linear-gradient(180deg, var(--tactile-primary-hover), var(--tactile-primary));
4065
+ --tactile-progress-fill: linear-gradient(90deg, var(--tactile-success), var(--tactile-primary));
4066
+ --tactile-keyline: rgb(var(--tactile-text-rgb) / max(.46, calc(var(--tactile-border-alpha) * .78)));
4067
+ --tactile-panel-shadow: inset 0 2px 0 var(--tactile-bevel-highlight), inset 0 -2px 0 var(--tactile-bevel-shadow), 0 .55rem 1.25rem rgb(var(--tactile-text-rgb) / var(--tactile-shadow-alpha));
4068
+ --tactile-button-shadow: inset 0 2px 0 var(--tactile-bevel-highlight), inset 0 -2px 0 var(--tactile-bevel-shadow), 0 .32rem .68rem rgb(var(--tactile-text-rgb) / calc(var(--tactile-shadow-alpha) * .92));
4069
+ --tactile-inset-shadow: inset .16rem .16rem .34rem rgb(var(--tactile-text-rgb) / .2), inset -.08rem -.08rem .2rem rgb(var(--tactile-surface-strong-rgb) / .38);
4070
+ --tactile-deep-inset-shadow: inset .16rem .16rem .32rem #00000094, inset -.08rem -.08rem .16rem rgb(var(--tactile-surface-strong-rgb) / .14);
4071
+ --tactile-sidebar-bg: linear-gradient(180deg, rgb(var(--tactile-text-rgb) / var(--tactile-sidebar-alpha)), rgb(var(--tactile-text-rgb) / calc(var(--tactile-sidebar-alpha) - .06)));
4072
+ --tactile-sidebar-fg: rgb(var(--tactile-bg-rgb));
4073
+ --tactile-sidebar-muted: rgb(var(--tactile-bg-rgb) / .74);
4074
+ --tactile-rail: var(--tactile-primary);
3652
4075
  --tactile-spinner-track: rgb(var(--tactile-border-rgb) / max(.28, calc(var(--tactile-border-alpha) * .7)));
3653
4076
  --tactile-spinner-stroke: var(--tactile-primary);
3654
4077
  --tactile-spinner-accent: var(--tactile-accent);
3655
4078
  }
3656
4079
 
3657
4080
  @supports (color: color-mix(in srgb,black,white)) {
3658
- [data-ui="tactile"][data-theme][data-mode] {
4081
+ [data-ui="tactile"][data-mode] {
3659
4082
  --tactile-border: color-mix(in srgb, rgb(var(--tactile-border-rgb) / max(var(--tactile-border-alpha), var(--usk-border-min-alpha))), var(--tactile-text) var(--usk-border-text-mix));
3660
4083
  }
3661
4084
  }
3662
4085
 
3663
4086
  [data-ui="tactile"] {
3664
- background: radial-gradient(circle at 50% -10%,#ffffff14,transparent 30rem),var(--tactile-bg);
4087
+ background: var(--tactile-paper-grain),var(--tactile-paper-bg),var(--tactile-bg);
3665
4088
  color: var(--tactile-text);
3666
4089
  font-family: var(--tactile-font-body);
3667
4090
  text-rendering: optimizelegibility;
@@ -3674,44 +4097,49 @@
3674
4097
  box-sizing: border-box;
3675
4098
  }
3676
4099
 
3677
- [data-ui="tactile"][data-theme][data-mode] {
4100
+ [data-ui="tactile"][data-mode] {
3678
4101
  background: var(--tactile-theme-bg);
3679
4102
  background-size: var(--tactile-theme-bg-size);
3680
4103
  }
3681
4104
 
3682
- .tactile-title, .tactile-heading, .tactile-kicker, .tactile-button, .tactile-badge, .tactile-nav-link, :where([data-ui="tactile"]) .ui-button, :where([data-ui="tactile"]) .ui-badge, :where([data-ui="tactile"]) .ui-nav-link {
4105
+ .tactile-title, .tactile-heading {
3683
4106
  font-family: var(--tactile-font-heading);
3684
4107
  }
3685
4108
 
4109
+ .tactile-kicker, .tactile-button, .tactile-badge, .tactile-nav-link, :where([data-ui="tactile"]) .ui-button, :where([data-ui="tactile"]) .ui-badge, :where([data-ui="tactile"]) .ui-nav-link {
4110
+ font-family: var(--tactile-font-control);
4111
+ }
4112
+
3686
4113
  .tactile-title {
3687
4114
  color: var(--tactile-text);
3688
- letter-spacing: -.045em;
4115
+ font-family: var(--tactile-font-display);
4116
+ letter-spacing: -.03em;
3689
4117
  margin: 0;
3690
- font-size: clamp(2rem, 5vw, 3.7rem);
3691
- line-height: 1.02;
4118
+ font-size: clamp(2.2rem, 5vw, 4rem);
4119
+ line-height: .98;
3692
4120
  }
3693
4121
 
3694
4122
  .tactile-heading {
3695
4123
  color: var(--tactile-text);
3696
- letter-spacing: -.03em;
4124
+ letter-spacing: -.02em;
3697
4125
  margin: 0;
3698
- font-size: clamp(1.2rem, 2.5vw, 2rem);
3699
- line-height: 1.15;
4126
+ font-size: clamp(1.25rem, 2.5vw, 2.1rem);
4127
+ line-height: 1.08;
3700
4128
  }
3701
4129
 
3702
4130
  .tactile-kicker {
3703
- color: var(--tactile-primary);
3704
- letter-spacing: .12em;
4131
+ color: var(--tactile-text);
4132
+ letter-spacing: .14em;
3705
4133
  text-transform: uppercase;
3706
4134
  margin: 0;
3707
- font-size: .82rem;
3708
- font-weight: 850;
4135
+ font-size: .78rem;
4136
+ font-weight: 900;
3709
4137
  }
3710
4138
 
3711
4139
  .tactile-subtitle, .tactile-copy {
3712
4140
  color: var(--tactile-text-muted);
3713
4141
  margin: 0;
3714
- line-height: 1.65;
4142
+ line-height: 1.58;
3715
4143
  }
3716
4144
 
3717
4145
  .tactile-text-muted {
@@ -3719,26 +4147,23 @@
3719
4147
  }
3720
4148
 
3721
4149
  .tactile-divider {
3722
- background: var(--tactile-border);
3723
- border: 0;
4150
+ background: rgb(var(--tactile-border-rgb)/.62);
3724
4151
  width: 100%;
3725
4152
  height: 1px;
4153
+ box-shadow: 0 1px 0 rgb(var(--tactile-surface-strong-rgb)/.48);
4154
+ border: 0;
3726
4155
  }
3727
4156
 
3728
4157
  .tactile-surface, .tactile-card, .tactile-panel, .tactile-toolbar, .tactile-table-wrap, :where([data-ui="tactile"]) .ui-card, :where([data-ui="tactile"]) .ui-toolbar, :where([data-ui="tactile"]) .ui-table-wrap {
3729
- background: linear-gradient(180deg,#ffffff2e,#ffffff08),linear-gradient(135deg,rgb(var(--tactile-primary-rgb)/.07),transparent 46%),var(--tactile-surface);
4158
+ background: var(--tactile-card-bg);
3730
4159
  color: var(--tactile-text);
3731
- border: 1px solid var(--tactile-border);
4160
+ border: 1px solid var(--tactile-keyline);
3732
4161
  border-radius: var(--tactile-radius-lg);
3733
- box-shadow: 0 18px 36px rgb(0 0 0 / var(--tactile-shadow-alpha)),inset 0 1px 0 #ffffff40;
4162
+ box-shadow: var(--tactile-panel-shadow);
3734
4163
  transition: transform var(--tactile-transition-base),box-shadow var(--tactile-transition-base),border-color var(--tactile-transition-base),background var(--tactile-transition-base);
3735
4164
  position: relative;
3736
4165
  }
3737
4166
 
3738
- .tactile-card, .tactile-panel, :where([data-ui="tactile"]) .ui-card {
3739
- padding: var(--tactile-space-6);
3740
- }
3741
-
3742
4167
  .tactile-toolbar, :where([data-ui="tactile"]) .ui-toolbar {
3743
4168
  justify-content: space-between;
3744
4169
  align-items: center;
@@ -3750,26 +4175,26 @@
3750
4175
 
3751
4176
  .tactile-surface-sm {
3752
4177
  border-radius: var(--tactile-radius-md);
3753
- box-shadow: 0 6px 18px rgb(0 0 0 / calc(var(--tactile-shadow-alpha)*.72));
4178
+ box-shadow: var(--tactile-button-shadow);
3754
4179
  }
3755
4180
 
3756
4181
  .tactile-surface-lg {
3757
4182
  border-radius: var(--tactile-radius-xl);
3758
- box-shadow: 0 22px 60px rgb(0 0 0 / calc(var(--tactile-shadow-alpha) + .08));
4183
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-surface-strong-rgb)/.72),0 .9rem 2rem rgb(var(--tactile-text-rgb)/calc(var(--tactile-shadow-alpha) + .08));
3759
4184
  }
3760
4185
 
3761
4186
  .tactile-well, .tactile-inset {
3762
- background: var(--tactile-surface-soft);
4187
+ background: var(--tactile-inset-bg);
3763
4188
  color: var(--tactile-text);
3764
- border: 1px solid rgb(var(--tactile-border-rgb)/calc(var(--tactile-border-alpha)*.7));
4189
+ border: 1px solid rgb(var(--tactile-border-rgb)/calc(var(--tactile-border-alpha)*.82));
3765
4190
  border-radius: var(--tactile-radius-md);
3766
4191
  padding: var(--tactile-space-5);
3767
- box-shadow: inset 0 1px 3px #00000014;
4192
+ box-shadow: var(--tactile-inset-shadow);
3768
4193
  }
3769
4194
 
3770
4195
  .tactile-hover-lift:hover {
3771
- box-shadow: 0 22px 60px rgb(0 0 0 / calc(var(--tactile-shadow-alpha) + .12));
3772
- transform: translateY(-2px);
4196
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-surface-strong-rgb)/.8),0 .9rem 1.8rem rgb(var(--tactile-text-rgb)/calc(var(--tactile-shadow-alpha) + .08));
4197
+ transform: translateY(-1px);
3773
4198
  }
3774
4199
 
3775
4200
  .tactile-button, .tactile-icon-button, :where([data-ui="tactile"]) .ui-button, :where([data-ui="tactile"]) .ui-icon-button {
@@ -3777,71 +4202,37 @@
3777
4202
  justify-content: center;
3778
4203
  align-items: center;
3779
4204
  gap: var(--tactile-space-2);
3780
- background: var(--tactile-surface);
3781
- min-height: 2.75rem;
4205
+ background: var(--tactile-control-bg);
4206
+ min-height: 3rem;
3782
4207
  color: var(--tactile-text);
3783
- border: 1px solid var(--tactile-border);
4208
+ border: 1px solid var(--tactile-keyline);
3784
4209
  border-radius: var(--tactile-radius-md);
3785
- box-shadow: 0 6px 18px rgb(0 0 0 / var(--tactile-shadow-alpha));
4210
+ box-shadow: var(--tactile-button-shadow);
3786
4211
  font: inherit;
3787
4212
  cursor: pointer;
3788
4213
  -webkit-user-select: none;
3789
4214
  user-select: none;
3790
4215
  transition: color var(--tactile-transition-fast),background var(--tactile-transition-fast),border-color var(--tactile-transition-fast),box-shadow var(--tactile-transition-fast),transform var(--tactile-transition-fast);
3791
- padding: .75rem 1.1rem;
4216
+ padding: .72rem 1.15rem;
3792
4217
  font-weight: 800;
3793
4218
  line-height: 1;
3794
4219
  text-decoration: none;
3795
4220
  display: inline-flex;
3796
4221
  }
3797
4222
 
3798
- .tactile-button:hover, .tactile-icon-button:hover, :where([data-ui="tactile"]) .ui-button:hover, :where([data-ui="tactile"]) .ui-icon-button:hover {
3799
- border-color: var(--tactile-primary);
3800
- transform: translateY(-1px);
3801
- }
3802
-
3803
- .tactile-button:active, .tactile-icon-button:active, .tactile-button[aria-pressed="true"], .tactile-icon-button[aria-pressed="true"], .tactile-button.is-active, .tactile-icon-button.is-active, :where([data-ui="tactile"]) .ui-button:active, :where([data-ui="tactile"]) .ui-icon-button:active, :where([data-ui="tactile"]) .ui-button[aria-pressed="true"], :where([data-ui="tactile"]) .ui-icon-button[aria-pressed="true"], :where([data-ui="tactile"]) .ui-button.is-active, :where([data-ui="tactile"]) .ui-icon-button.is-active {
3804
- transform: translateY(1px);
3805
- box-shadow: inset 0 3px 10px #0000002e;
3806
- }
3807
-
3808
- .tactile-button-primary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="primary"]) {
3809
- background: var(--tactile-primary);
3810
- color: var(--tactile-on-primary);
3811
- border-color: var(--tactile-primary);
3812
- }
3813
-
3814
4223
  .tactile-button-primary:hover, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="primary"]):hover {
3815
- background: var(--tactile-primary-hover);
4224
+ background: var(--tactile-action-hover-bg);
3816
4225
  border-color: var(--tactile-primary-hover);
3817
4226
  }
3818
4227
 
3819
- .tactile-button-secondary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="secondary"]) {
3820
- background: var(--tactile-secondary);
3821
- color: var(--tactile-on-secondary);
3822
- border-color: var(--tactile-secondary);
3823
- }
3824
-
3825
4228
  .tactile-button-secondary:hover, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="secondary"]):hover {
3826
- background: var(--tactile-secondary-hover);
3827
- border-color: var(--tactile-secondary-hover);
3828
- }
3829
-
3830
- .tactile-button-danger, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="danger"]) {
3831
- background: var(--tactile-danger);
3832
- color: var(--tactile-on-danger);
3833
- border-color: var(--tactile-danger);
3834
- }
3835
-
3836
- .tactile-button-ghost, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="ghost"]) {
3837
- color: var(--tactile-text);
3838
- box-shadow: none;
3839
- background: none;
4229
+ background: var(--tactile-field-bg);
4230
+ border-color: var(--tactile-primary);
3840
4231
  }
3841
4232
 
3842
4233
  .tactile-icon-button, :where([data-ui="tactile"]) .ui-icon-button {
3843
- border-radius: var(--tactile-radius-pill);
3844
- width: 2.75rem;
4234
+ border-radius: var(--tactile-radius-sm);
4235
+ width: 3rem;
3845
4236
  padding: 0;
3846
4237
  }
3847
4238
 
@@ -3851,11 +4242,11 @@
3851
4242
  transform: none;
3852
4243
  }
3853
4244
 
3854
- .tactile-card, .tactile-panel, :where([data-ui="tactile"]) .ui-card {
4245
+ .tactile-card, .tactile-panel, .tactile-toolbar, .tactile-table-wrap, :where([data-ui="tactile"]) .ui-card, :where([data-ui="tactile"]) .ui-toolbar, :where([data-ui="tactile"]) .ui-table-wrap {
3855
4246
  background: var(--tactile-card-bg);
3856
4247
  }
3857
4248
 
3858
- .tactile-toolbar, .tactile-table-wrap, .tactile-button:not(.tactile-button-primary):not(.tactile-button-secondary):not(.tactile-button-danger):not(.tactile-button-ghost), .tactile-icon-button, :where([data-ui="tactile"]) .ui-toolbar, :where([data-ui="tactile"]) .ui-table-wrap, :where([data-ui="tactile"]) .ui-button:not(.ui-button:where([data-ui-variant="primary"])):not(.ui-button:where([data-ui-variant="secondary"])):not(.ui-button:where([data-ui-variant="danger"])):not(.ui-button:where([data-ui-variant="ghost"])), :where([data-ui="tactile"]) .ui-icon-button {
4249
+ .tactile-button:not(.tactile-button-primary):not(.tactile-button-secondary):not(.tactile-button-danger):not(.tactile-button-warning):not(.tactile-button-ghost), .tactile-icon-button, :where([data-ui="tactile"]) .ui-button:not(.ui-button:where([data-ui-variant="primary"])):not(.ui-button:where([data-ui-variant="secondary"])):not(.ui-button:where([data-ui-variant="danger"])):not(.ui-button:where([data-ui-variant="warning"])):not(.ui-button:where([data-ui-variant="ghost"])), :where([data-ui="tactile"]) .ui-icon-button {
3859
4250
  background: var(--tactile-control-bg);
3860
4251
  }
3861
4252
 
@@ -3871,21 +4262,24 @@
3871
4262
 
3872
4263
  .tactile-label, :where([data-ui="tactile"]) .ui-label {
3873
4264
  color: var(--tactile-text);
3874
- font-size: .925rem;
3875
- font-weight: 800;
4265
+ letter-spacing: .08em;
4266
+ text-transform: uppercase;
4267
+ font-size: .78rem;
4268
+ font-weight: 900;
3876
4269
  }
3877
4270
 
3878
4271
  .tactile-input, .tactile-textarea, .tactile-select, :where([data-ui="tactile"]) .ui-input, :where([data-ui="tactile"]) .ui-textarea, :where([data-ui="tactile"]) .ui-select {
3879
- background: var(--tactile-surface-soft);
4272
+ background: var(--tactile-field-bg);
3880
4273
  width: 100%;
3881
- min-height: 2.875rem;
4274
+ min-height: 3rem;
3882
4275
  color: var(--tactile-text);
3883
- border: 1px solid var(--tactile-border);
4276
+ border: 1px solid var(--tactile-keyline);
3884
4277
  border-radius: var(--tactile-radius-md);
4278
+ box-shadow: var(--tactile-inset-shadow);
3885
4279
  font: inherit;
3886
4280
  transition: background var(--tactile-transition-fast),border-color var(--tactile-transition-fast),box-shadow var(--tactile-transition-fast);
3887
4281
  outline: none;
3888
- padding: .75rem 1rem;
4282
+ padding: .74rem 1rem;
3889
4283
  }
3890
4284
 
3891
4285
  .tactile-textarea, :where([data-ui="tactile"]) .ui-textarea {
@@ -3893,20 +4287,10 @@
3893
4287
  min-height: 8rem;
3894
4288
  }
3895
4289
 
3896
- .tactile-input::placeholder, .tactile-textarea::placeholder, :where([data-ui="tactile"]) .ui-input::placeholder, :where([data-ui="tactile"]) .ui-textarea::placeholder {
3897
- color: var(--tactile-text-muted);
3898
- opacity: .82;
3899
- }
3900
-
3901
4290
  .tactile-input:hover, .tactile-textarea:hover, .tactile-select:hover, :where([data-ui="tactile"]) .ui-input:hover, :where([data-ui="tactile"]) .ui-textarea:hover, :where([data-ui="tactile"]) .ui-select:hover {
3902
4291
  border-color: rgb(var(--tactile-primary-rgb)/.58);
3903
4292
  }
3904
4293
 
3905
- .tactile-input:focus, .tactile-textarea:focus, .tactile-select:focus, :where([data-ui="tactile"]) .ui-input:focus, :where([data-ui="tactile"]) .ui-textarea:focus, :where([data-ui="tactile"]) .ui-select:focus {
3906
- border-color: var(--tactile-focus);
3907
- box-shadow: var(--tactile-focus-ring);
3908
- }
3909
-
3910
4294
  .tactile-help-text, :where([data-ui="tactile"]) .ui-help-text {
3911
4295
  color: var(--tactile-text-muted);
3912
4296
  font-size: .875rem;
@@ -3928,10 +4312,11 @@
3928
4312
  }
3929
4313
 
3930
4314
  .tactile-check-control, .tactile-radio-control, :where([data-ui="tactile"]) .ui-check-control, :where([data-ui="tactile"]) .ui-radio-control {
3931
- background: var(--tactile-surface-soft);
3932
- border: 1px solid var(--tactile-border);
4315
+ background: var(--tactile-field-bg);
4316
+ border: 1px solid var(--tactile-keyline);
3933
4317
  width: 1.35rem;
3934
4318
  height: 1.35rem;
4319
+ box-shadow: var(--tactile-inset-shadow);
3935
4320
  transition: background var(--tactile-transition-fast),box-shadow var(--tactile-transition-fast);
3936
4321
  place-items: center;
3937
4322
  display: inline-grid;
@@ -3945,12 +4330,6 @@
3945
4330
  border-radius: 50%;
3946
4331
  }
3947
4332
 
3948
- .tactile-check input:checked + .tactile-check-control, .tactile-radio input:checked + .tactile-radio-control, :where([data-ui="tactile"]) .ui-check input:checked+.ui-check-control, :where([data-ui="tactile"]) .ui-radio input:checked+.ui-radio-control {
3949
- background: var(--tactile-primary);
3950
- border-color: var(--tactile-primary);
3951
- box-shadow: var(--tactile-focus-ring);
3952
- }
3953
-
3954
4333
  .tactile-check input:checked + .tactile-check-control:after, :where([data-ui="tactile"]) .ui-check input:checked+.ui-check-control:after {
3955
4334
  content: "✓";
3956
4335
  color: var(--tactile-on-primary);
@@ -3981,55 +4360,54 @@
3981
4360
  }
3982
4361
 
3983
4362
  .tactile-switch-track, :where([data-ui="tactile"]) .ui-switch-track {
3984
- background: var(--tactile-surface-soft);
3985
- border: 1px solid var(--tactile-border);
3986
- border-radius: var(--tactile-radius-pill);
3987
- width: 3.5rem;
4363
+ background: var(--tactile-recessed-track);
4364
+ border: 1px solid var(--tactile-track-rim);
4365
+ border-radius: var(--tactile-radius-sm);
4366
+ width: 4.35rem;
3988
4367
  height: 1.9rem;
4368
+ box-shadow: var(--tactile-deep-inset-shadow);
3989
4369
  transition: background var(--tactile-transition-fast),box-shadow var(--tactile-transition-fast);
3990
4370
  position: relative;
3991
4371
  }
3992
4372
 
3993
4373
  .tactile-switch-thumb, :where([data-ui="tactile"]) .ui-switch-thumb {
3994
- background: var(--tactile-surface-strong);
3995
- border: 1px solid var(--tactile-border);
3996
- width: 1.34rem;
3997
- height: 1.34rem;
3998
- box-shadow: 0 4px 12px rgb(0 0 0 / var(--tactile-shadow-alpha));
4374
+ background: var(--tactile-thumb-bg);
4375
+ border: 1px solid var(--tactile-keyline);
4376
+ border-radius: var(--tactile-radius-xs);
4377
+ width: 1.58rem;
4378
+ height: 1.58rem;
4379
+ box-shadow: var(--tactile-button-shadow);
3999
4380
  transition: left var(--tactile-transition-fast),background var(--tactile-transition-fast);
4000
- border-radius: 50%;
4001
4381
  position: absolute;
4002
- top: .22rem;
4003
- left: .22rem;
4004
- }
4005
-
4006
- .tactile-switch input:checked + .tactile-switch-track, :where([data-ui="tactile"]) .ui-switch input:checked+.ui-switch-track {
4007
- background: var(--tactile-primary);
4008
- border-color: var(--tactile-primary);
4382
+ top: .16rem;
4383
+ left: .16rem;
4009
4384
  }
4010
4385
 
4011
4386
  .tactile-switch input:checked + .tactile-switch-track .tactile-switch-thumb, :where([data-ui="tactile"]) .ui-switch input:checked+.ui-switch-track .ui-switch-thumb {
4012
- background: var(--tactile-on-primary);
4013
- left: calc(100% - 1.56rem);
4387
+ background: var(--tactile-thumb-bg);
4388
+ left: calc(100% - 1.74rem);
4014
4389
  }
4015
4390
 
4016
4391
  .tactile-badge, :where([data-ui="tactile"]) .ui-badge {
4017
4392
  align-items: center;
4018
4393
  gap: var(--tactile-space-1);
4019
- background: var(--tactile-surface-soft);
4020
- min-height: 1.75rem;
4394
+ background: var(--tactile-field-bg);
4395
+ min-height: 1.65rem;
4021
4396
  color: var(--tactile-text);
4022
- border: 1px solid var(--tactile-border);
4023
- border-radius: var(--tactile-radius-pill);
4024
- padding: .35rem .7rem;
4025
- font-size: .8125rem;
4026
- font-weight: 850;
4397
+ border: 1px solid var(--tactile-keyline);
4398
+ border-radius: var(--tactile-radius-sm);
4399
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-surface-strong-rgb)/.58);
4400
+ letter-spacing: .04em;
4401
+ text-transform: uppercase;
4402
+ padding: .32rem .68rem;
4403
+ font-size: .78rem;
4404
+ font-weight: 900;
4027
4405
  line-height: 1;
4028
4406
  display: inline-flex;
4029
4407
  }
4030
4408
 
4031
4409
  .tactile-badge-primary, :where([data-ui="tactile"]) .ui-badge:where([data-ui-variant="primary"]) {
4032
- background: var(--tactile-primary);
4410
+ background: var(--tactile-action-solid);
4033
4411
  color: var(--tactile-on-primary);
4034
4412
  border-color: var(--tactile-primary);
4035
4413
  }
@@ -4062,44 +4440,35 @@
4062
4440
  align-items: center;
4063
4441
  gap: var(--tactile-space-2);
4064
4442
  padding: var(--tactile-space-2);
4065
- background: var(--tactile-surface);
4066
- border: 1px solid var(--tactile-border);
4067
- border-radius: var(--tactile-radius-xl);
4068
- box-shadow: 0 10px 30px rgb(0 0 0 / var(--tactile-shadow-alpha));
4443
+ background: var(--tactile-sidebar-bg);
4444
+ border: 1px solid rgb(var(--tactile-text-rgb)/.88);
4445
+ border-radius: var(--tactile-radius-lg);
4446
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-bg-rgb)/.08),0 .75rem 1.5rem rgb(var(--tactile-text-rgb)/calc(var(--tactile-shadow-alpha) + .12));
4069
4447
  flex-wrap: wrap;
4070
4448
  display: flex;
4071
4449
  }
4072
4450
 
4073
4451
  .tactile-nav-link, :where([data-ui="tactile"]) .ui-nav-link {
4074
- min-height: 2.5rem;
4075
- color: var(--tactile-text-muted);
4076
- border-radius: var(--tactile-radius-pill);
4452
+ min-height: 2.75rem;
4453
+ color: var(--tactile-sidebar-muted);
4454
+ border-radius: var(--tactile-radius-md);
4077
4455
  transition: color var(--tactile-transition-fast),background var(--tactile-transition-fast),box-shadow var(--tactile-transition-fast);
4456
+ border: 1px solid #0000;
4078
4457
  justify-content: center;
4079
4458
  align-items: center;
4080
- padding: .65rem 1rem;
4459
+ padding: .72rem 1rem;
4081
4460
  font-weight: 850;
4082
4461
  text-decoration: none;
4083
4462
  display: inline-flex;
4084
4463
  }
4085
4464
 
4086
- .tactile-nav-link:hover, :where([data-ui="tactile"]) .ui-nav-link:hover {
4087
- color: var(--tactile-text);
4088
- background: var(--tactile-surface-soft);
4089
- }
4090
-
4091
- .tactile-nav-link[aria-current="page"], .tactile-nav-link.is-active, :where([data-ui="tactile"]) .ui-nav-link[aria-current="page"], :where([data-ui="tactile"]) .ui-nav-link.is-active {
4092
- color: var(--tactile-on-primary);
4093
- background: var(--tactile-primary);
4094
- }
4095
-
4096
4465
  .tactile-tooltip, [data-ui="tactile"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) {
4097
- background: linear-gradient(180deg,#ffffff2e,#00000014),var(--tactile-surface-strong);
4466
+ background: var(--tactile-sidebar-bg);
4098
4467
  max-inline-size: 16rem;
4099
- color: var(--tactile-text);
4100
- border: 1px solid var(--tactile-border);
4101
- border-radius: var(--tactile-radius-lg);
4102
- box-shadow: inset 0 1px 0 #ffffff52,0 .7rem 1.4rem rgb(0 0 0 / var(--tactile-shadow-alpha));
4468
+ color: var(--tactile-sidebar-fg);
4469
+ border: 1px solid rgb(var(--tactile-bg-rgb)/.18);
4470
+ border-radius: var(--tactile-radius-md);
4471
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-bg-rgb)/.08),0 .7rem 1.4rem rgb(var(--tactile-text-rgb)/var(--tactile-shadow-alpha));
4103
4472
  align-items: center;
4104
4473
  gap: .45rem;
4105
4474
  padding: .6rem .82rem;
@@ -4110,9 +4479,9 @@
4110
4479
  }
4111
4480
 
4112
4481
  .tactile-tooltip-arrow {
4113
- background: var(--tactile-surface-strong);
4114
- border: 1px solid var(--tactile-border);
4115
- border-radius: .18rem;
4482
+ background: rgb(var(--tactile-text-rgb)/.9);
4483
+ border: 1px solid rgb(var(--tactile-bg-rgb)/.18);
4484
+ border-radius: .12rem;
4116
4485
  flex: none;
4117
4486
  block-size: .6rem;
4118
4487
  inline-size: .6rem;
@@ -4120,29 +4489,32 @@
4120
4489
  }
4121
4490
 
4122
4491
  .tactile-progress, :where([data-ui="tactile"]) .ui-progress {
4123
- background: var(--tactile-surface-soft);
4124
- border: 1px solid var(--tactile-border);
4125
- border-radius: var(--tactile-radius-pill);
4492
+ background: var(--tactile-recessed-track);
4493
+ border: 1px solid var(--tactile-track-rim);
4494
+ border-radius: var(--tactile-radius-sm);
4126
4495
  width: 100%;
4127
- height: .9rem;
4496
+ height: .8rem;
4497
+ box-shadow: var(--tactile-deep-inset-shadow);
4128
4498
  overflow: hidden;
4129
4499
  }
4130
4500
 
4131
4501
  .tactile-progress-bar, :where([data-ui="tactile"]) .ui-progress-bar {
4132
4502
  height: 100%;
4133
4503
  width: var(--tactile-progress-value, 50%);
4134
- background: linear-gradient(90deg,var(--tactile-primary),var(--tactile-accent));
4135
- border-radius: inherit;
4504
+ background: var(--tactile-progress-fill);
4505
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-surface-strong-rgb)/.2);
4506
+ border-radius: .12rem;
4136
4507
  }
4137
4508
 
4138
4509
  .tactile-alert, :where([data-ui="tactile"]) .ui-alert {
4139
4510
  gap: var(--tactile-space-2);
4140
4511
  padding: var(--tactile-space-4);
4141
- background: var(--tactile-surface);
4512
+ background: var(--tactile-card-bg);
4142
4513
  color: var(--tactile-text);
4143
- border: 1px solid var(--tactile-border);
4514
+ border: 1px solid var(--tactile-keyline);
4144
4515
  border-radius: var(--tactile-radius-lg);
4145
- box-shadow: 0 10px 30px rgb(0 0 0 / var(--tactile-shadow-alpha));
4516
+ box-shadow: var(--tactile-panel-shadow);
4517
+ border-inline-start-width: .28rem;
4146
4518
  display: grid;
4147
4519
  }
4148
4520
 
@@ -4180,16 +4552,17 @@
4180
4552
 
4181
4553
  .tactile-table th, .tactile-table td, :where([data-ui="tactile"]) .ui-table th, :where([data-ui="tactile"]) .ui-table td {
4182
4554
  text-align: left;
4183
- border-bottom: 1px solid var(--tactile-border);
4184
- padding: .95rem 1rem;
4555
+ border-bottom: 1px solid rgb(var(--tactile-border-rgb)/.58);
4556
+ padding: .9rem 1rem;
4185
4557
  }
4186
4558
 
4187
4559
  .tactile-table th, :where([data-ui="tactile"]) .ui-table th {
4188
4560
  color: var(--tactile-text);
4189
4561
  text-transform: uppercase;
4190
4562
  letter-spacing: .08em;
4191
- background: rgb(var(--tactile-primary-rgb)/.08);
4192
- font-size: .82rem;
4563
+ background: var(--tactile-field-bg);
4564
+ box-shadow: inset 0-1px 0 rgb(var(--tactile-text-rgb)/.08);
4565
+ font-size: .78rem;
4193
4566
  font-weight: 900;
4194
4567
  }
4195
4568
 
@@ -4285,22 +4658,23 @@
4285
4658
  }
4286
4659
 
4287
4660
  .tactile-bevel {
4288
- background: linear-gradient(180deg,#ffffff38,#00000014),var(--tactile-surface);
4289
- box-shadow: inset 0 1px 0 #ffffff52,inset 0-1px 0 #0000002e,0 16px 34px rgb(0 0 0 / var(--tactile-shadow-alpha));
4661
+ background: var(--tactile-card-bg);
4662
+ border: 1px solid var(--tactile-keyline);
4663
+ box-shadow: var(--tactile-panel-shadow);
4290
4664
  }
4291
4665
 
4292
4666
  .tactile-pressed {
4293
- background: var(--tactile-surface-soft);
4667
+ background: var(--tactile-inset-bg);
4668
+ box-shadow: var(--tactile-inset-shadow);
4294
4669
  transform: translateY(1px);
4295
- box-shadow: inset 0 4px 14px #00000038, inset 0 -1px #ffffff1f;
4296
4670
  }
4297
4671
 
4298
4672
  .tactile-knob {
4299
- background: radial-gradient(circle at 35% 30%,#ffffff59,transparent 28%),var(--tactile-surface-strong);
4300
- border: 1px solid var(--tactile-border);
4673
+ background: radial-gradient(circle at 35% 30%,rgb(var(--tactile-surface-strong-rgb)/.72),transparent 30%),var(--tactile-thumb-bg);
4674
+ border: 1px solid var(--tactile-keyline);
4301
4675
  block-size: 3.25rem;
4302
4676
  inline-size: 3.25rem;
4303
- box-shadow: inset 0 1px 0 #ffffff4d,0 12px 24px rgb(0 0 0 / var(--tactile-shadow-alpha));
4677
+ box-shadow: var(--tactile-button-shadow);
4304
4678
  border-radius: 50%;
4305
4679
  }
4306
4680
 
@@ -4308,10 +4682,10 @@
4308
4682
  border: .18rem solid rgb(var(--tactile-border-rgb)/.55);
4309
4683
  border-block-start-color: var(--tactile-spinner-stroke);
4310
4684
  border-inline-end-color: var(--tactile-spinner-accent);
4311
- background: linear-gradient(145deg,rgb(var(--tactile-surface-strong-rgb)/.96),rgb(var(--tactile-surface-soft-rgb)/.72));
4685
+ background: var(--tactile-thumb-bg);
4312
4686
  block-size: 2rem;
4313
4687
  inline-size: 2rem;
4314
- box-shadow: inset .16rem .16rem .32rem #0000002e,inset -.16rem -.16rem .32rem #ffffff42,0 .25rem .75rem rgb(0 0 0 / var(--tactile-shadow-alpha));
4688
+ box-shadow: var(--tactile-button-shadow);
4315
4689
  vertical-align: -.2em;
4316
4690
  border-radius: 50%;
4317
4691
  animation: .85s cubic-bezier(.2, .8, .2, 1) infinite tactile-spin;
@@ -4355,9 +4729,10 @@
4355
4729
  .tactile-card-media {
4356
4730
  aspect-ratio: 16 / 9;
4357
4731
  object-fit: cover;
4358
- border: 1px solid rgb(var(--tactile-border-rgb)/.72);
4359
- border-radius: var(--tactile-radius-lg);
4732
+ border: 1px solid var(--tactile-keyline);
4733
+ border-radius: var(--tactile-radius-md);
4360
4734
  inline-size: 100%;
4735
+ box-shadow: var(--tactile-inset-shadow);
4361
4736
  display: block;
4362
4737
  }
4363
4738
 
@@ -4389,7 +4764,7 @@
4389
4764
  }
4390
4765
 
4391
4766
  .tactile-card-accent-edge {
4392
- border-inline-start: .35rem solid var(--tactile-primary);
4767
+ border-inline-start: .28rem solid var(--tactile-primary);
4393
4768
  }
4394
4769
 
4395
4770
  .tactile-icon-medallion {
@@ -4397,8 +4772,8 @@
4397
4772
  block-size: 3.75rem;
4398
4773
  inline-size: 3.75rem;
4399
4774
  color: var(--tactile-on-primary);
4400
- border: 2px solid rgb(var(--tactile-border-rgb)/.82);
4401
- border-radius: 50%;
4775
+ border: 1px solid var(--tactile-keyline);
4776
+ border-radius: var(--tactile-radius-md);
4402
4777
  flex: none;
4403
4778
  place-items: center;
4404
4779
  padding: .7rem;
@@ -4442,7 +4817,7 @@
4442
4817
  inline-size: 5rem;
4443
4818
  min-inline-size: 5rem;
4444
4819
  color: var(--tactile-text);
4445
- border: 2px solid var(--tactile-primary);
4820
+ border: 1px solid var(--tactile-primary);
4446
4821
  text-align: center;
4447
4822
  font-family: var(--tactile-font-heading);
4448
4823
  letter-spacing: .04em;
@@ -4459,11 +4834,10 @@
4459
4834
  .tactile-feature-strip {
4460
4835
  background: var(--tactile-card-bg);
4461
4836
  color: var(--tactile-text);
4462
- border: 1px solid var(--tactile-border);
4837
+ border: 1px solid var(--tactile-keyline);
4463
4838
  border-radius: var(--tactile-radius-lg);
4464
4839
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
4465
4840
  display: grid;
4466
- overflow: hidden;
4467
4841
  }
4468
4842
 
4469
4843
  .tactile-feature-item {
@@ -4491,7 +4865,7 @@
4491
4865
  padding: var(--tactile-space-4) var(--tactile-space-5);
4492
4866
  background: var(--tactile-card-bg);
4493
4867
  color: var(--tactile-text);
4494
- border: 1px solid var(--tactile-border);
4868
+ border: 1px solid var(--tactile-keyline);
4495
4869
  border-radius: var(--tactile-radius-lg);
4496
4870
  grid-template-columns: auto minmax(0, 1fr) auto;
4497
4871
  display: grid;
@@ -4501,10 +4875,6 @@
4501
4875
  min-inline-size: 0;
4502
4876
  }
4503
4877
 
4504
- .tactile-callout-bar > :where(.tactile-button, a, button):last-child, :where([data-ui="tactile"]) .tactile-callout-bar>:where(.ui-button,a,button):last-child {
4505
- justify-self: end;
4506
- }
4507
-
4508
4878
  .tactile-eyebrow {
4509
4879
  color: var(--tactile-primary);
4510
4880
  font-family: var(--tactile-font-heading);
@@ -4518,9 +4888,9 @@
4518
4888
 
4519
4889
  .tactile-media-scrim {
4520
4890
  isolation: isolate;
4521
- background: var(--tactile-surface-soft);
4522
- border: 1px solid var(--tactile-border);
4523
- border-radius: var(--tactile-radius-lg);
4891
+ background: var(--tactile-inset-bg);
4892
+ border: 1px solid var(--tactile-keyline);
4893
+ border-radius: var(--tactile-radius-md);
4524
4894
  min-block-size: 12rem;
4525
4895
  position: relative;
4526
4896
  overflow: hidden;
@@ -4569,52 +4939,259 @@
4569
4939
  }
4570
4940
 
4571
4941
  .tactile-card-service, .tactile-card-feature, .tactile-feature-strip, .tactile-callout-bar {
4572
- box-shadow: 0 .75rem 1.6rem #00000038, inset 0 1px #ffffff47;
4942
+ box-shadow: var(--tactile-panel-shadow);
4573
4943
  }
4574
4944
 
4575
4945
  .tactile-icon-medallion, .tactile-badge-seal {
4576
- background: linear-gradient(145deg,#ffffff38,#00000014),var(--tactile-primary);
4577
- box-shadow: inset 0 1px #fff6, 0 .45rem .85rem #00000038;
4946
+ background: var(--tactile-action-bg);
4947
+ box-shadow: var(--tactile-button-shadow);
4578
4948
  }
4579
4949
 
4580
4950
  .tactile-button-outline-heavy {
4581
- box-shadow: inset 0 1px #ffffff3d, 0 .35rem .7rem #0000002e;
4951
+ box-shadow: var(--tactile-button-shadow);
4582
4952
  }
4583
4953
 
4584
4954
  .tactile-button.tactile-button-cut, .tactile-button-cut, :where([data-ui="tactile"]) .ui-button.tactile-button-cut {
4585
4955
  clip-path: polygon(.38rem 0, calc(100% - .38rem) 0, 100% .38rem, 100% calc(100% - .38rem), calc(100% - .38rem) 100%, .38rem 100%, 0 calc(100% - .38rem), 0 .38rem);
4586
4956
  justify-content: center;
4587
4957
  justify-self: center;
4958
+ min-block-size: 2.75rem;
4588
4959
  min-inline-size: 6rem;
4589
4960
  max-inline-size: 100%;
4590
4961
  }
4591
4962
 
4592
4963
  .tactile-button.tactile-button-outline-heavy, .tactile-button-outline-heavy, :where([data-ui="tactile"]) .ui-button.tactile-button-outline-heavy {
4593
4964
  clip-path: polygon(.28rem 0, calc(100% - .28rem) 0, 100% .28rem, 100% calc(100% - .28rem), calc(100% - .28rem) 100%, .28rem 100%, 0 calc(100% - .28rem), 0 .28rem);
4594
- box-shadow: inset 0 2px 0 rgb(var(--tactile-surface-strong-rgb)/.72),0 .38rem .72rem rgb(var(--tactile-text-rgb)/.2);
4965
+ box-shadow: var(--tactile-button-shadow);
4595
4966
  border-width: 2px;
4596
4967
  border-radius: 0;
4597
4968
  }
4598
4969
 
4599
4970
  .tactile-card-service, .tactile-media-scrim, .tactile-feature-strip, .tactile-callout-bar, .tactile-well {
4600
- background: linear-gradient(145deg,rgb(var(--tactile-surface-strong-rgb)/.78),rgb(var(--tactile-surface-rgb)/.72));
4601
- border: 1px solid var(--tactile-border);
4971
+ background: var(--tactile-card-bg);
4972
+ border: 1px solid var(--tactile-keyline);
4602
4973
  border-radius: var(--tactile-radius-lg);
4603
- box-shadow: inset 0 2px 0 rgb(var(--tactile-surface-strong-rgb)/.78),0 .65rem 1.25rem rgb(var(--tactile-text-rgb)/.2);
4974
+ box-shadow: var(--tactile-panel-shadow);
4604
4975
  }
4605
4976
 
4606
- [data-ui="tactile"][data-theme][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
4607
- border: 1px solid var(--tactile-primary);
4977
+ [data-ui="tactile"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
4978
+ background: var(--tactile-control-bg);
4979
+ color: var(--tactile-text);
4980
+ border: 1px solid var(--tactile-keyline);
4608
4981
  border-radius: var(--tactile-radius-md);
4609
- box-shadow: inset 0 2px 0 rgb(var(--tactile-surface-strong-rgb)/.8),0 .34rem .68rem rgb(var(--tactile-text-rgb)/.2);
4982
+ box-shadow: var(--tactile-button-shadow);
4610
4983
  }
4611
4984
 
4612
- [data-ui="tactile"][data-theme][data-mode] :where(dialog) {
4985
+ [data-ui="tactile"][data-mode] :where(dialog) {
4613
4986
  background-color: var(--tactile-surface);
4614
- background-image: linear-gradient(145deg,rgb(var(--tactile-surface-strong-rgb)/.84),rgb(var(--tactile-surface-rgb)/.78));
4615
- border: 1px solid var(--tactile-border);
4987
+ background-image: var(--tactile-card-bg);
4988
+ border: 1px solid var(--tactile-keyline);
4989
+ border-radius: var(--tactile-radius-lg);
4990
+ box-shadow: var(--tactile-panel-shadow);
4991
+ }
4992
+
4993
+ [data-ui="tactile"][data-mode] {
4994
+ --tactile-card-bg: var(--tactile-paper-grain), var(--tactile-paper-bg), var(--tactile-surface);
4995
+ --tactile-control-bg: linear-gradient(180deg, var(--tactile-bevel-highlight), transparent .28rem), linear-gradient(180deg, rgb(var(--tactile-surface-strong-rgb) / .94), rgb(var(--tactile-surface-soft-rgb) / .76));
4996
+ --tactile-field-bg: linear-gradient(180deg, rgb(var(--tactile-text-rgb) / .055), transparent .2rem), linear-gradient(180deg, rgb(var(--tactile-surface-soft-rgb) / .78), rgb(var(--tactile-surface-strong-rgb) / .62));
4997
+ --tactile-inset-bg: linear-gradient(180deg, rgb(var(--tactile-text-rgb) / .07), transparent .28rem), rgb(var(--tactile-surface-soft-rgb) / .72);
4998
+ --tactile-keyline: rgb(var(--tactile-text-rgb) / max(.58, calc(var(--tactile-border-alpha) * .86)));
4999
+ --tactile-panel-shadow: inset 0 2px 0 var(--tactile-bevel-highlight), inset 0 -3px 0 var(--tactile-bevel-shadow), 0 2px 0 var(--tactile-keyline), 0 .42rem .9rem rgb(var(--tactile-text-rgb) / var(--tactile-shadow-alpha));
5000
+ --tactile-button-shadow: inset 0 2px 0 var(--tactile-bevel-highlight), inset 0 -3px 0 var(--tactile-bevel-shadow), 0 2px 0 var(--tactile-keyline), 0 .3rem .58rem rgb(var(--tactile-text-rgb) / calc(var(--tactile-shadow-alpha) * .82));
5001
+ --tactile-inset-shadow: inset .18rem .2rem .38rem rgb(var(--tactile-text-rgb) / .25), inset -.08rem -.08rem .16rem rgb(var(--tactile-surface-strong-rgb) / .34);
5002
+ --tactile-deep-inset-shadow: inset .2rem .22rem .38rem #000000ad, inset -.08rem -.08rem .14rem rgb(var(--tactile-surface-strong-rgb) / .12);
5003
+ --tactile-progress-fill: repeating-linear-gradient(90deg, var(--tactile-success) 0 calc(12.5% - .16rem), transparent calc(12.5% - .16rem) 12.5%), var(--tactile-primary);
5004
+ --usk-native-panel-padding: 1.2rem;
5005
+ --usk-native-control-min-block-size: 3.05rem;
5006
+ --usk-native-control-padding-block: .7rem;
5007
+ --usk-native-control-padding-inline: .9rem;
5008
+ --usk-native-subcontrol-padding-block: .52rem;
5009
+ --usk-native-subcontrol-padding-inline: .7rem;
5010
+ --usk-native-choice-size: 1.3rem;
5011
+ --usk-native-choice-background: var(--tactile-field-bg);
5012
+ --usk-native-choice-border: 1px solid var(--tactile-keyline);
5013
+ --usk-native-choice-shadow: var(--tactile-inset-shadow);
5014
+ --usk-native-checkbox-radius: .08rem;
5015
+ --usk-native-select-indicator-size: .42rem .42rem, .42rem .42rem;
5016
+ --usk-native-range-track-size: .68rem;
5017
+ --usk-native-range-track-border: 2px solid var(--tactile-track-rim);
5018
+ --usk-native-range-track-radius: 0;
5019
+ --usk-native-range-track-shadow: var(--tactile-deep-inset-shadow);
5020
+ --usk-native-range-thumb-size: 1.65rem;
5021
+ --usk-native-range-thumb-border: 2px solid var(--tactile-keyline);
5022
+ --usk-native-range-thumb-radius: .08rem;
5023
+ --usk-native-range-thumb-shadow: var(--tactile-button-shadow);
5024
+ --usk-native-progress-size: .85rem;
5025
+ --usk-native-progress-track-border: 2px solid var(--tactile-track-rim);
5026
+ --usk-native-progress-track-radius: 0;
5027
+ --usk-native-progress-track-shadow: var(--tactile-deep-inset-shadow);
5028
+ --usk-native-progress-value-background: var(--tactile-progress-fill);
5029
+ --usk-native-progress-value-radius: 0;
5030
+ --usk-native-progress-value-shadow: inset 0 1px 0 rgb(var(--tactile-surface-strong-rgb) / .24);
5031
+ --usk-native-file-button-border: 2px solid var(--tactile-keyline);
5032
+ --usk-native-file-button-radius: .08rem;
5033
+ --usk-native-scrollbar-size: 1rem;
5034
+ --usk-native-scrollbar-radius: 0;
5035
+ }
5036
+
5037
+ .tactile-title {
5038
+ font-family: var(--tactile-font-display);
5039
+ letter-spacing: -.035em;
5040
+ font-weight: 750;
5041
+ }
5042
+
5043
+ .tactile-heading {
5044
+ font-family: var(--tactile-font-heading);
5045
+ letter-spacing: -.018em;
5046
+ font-weight: 750;
5047
+ }
5048
+
5049
+ .tactile-button, .tactile-icon-button, :where([data-ui="tactile"]) .ui-button, :where([data-ui="tactile"]) .ui-icon-button {
5050
+ border: 1px solid var(--tactile-keyline);
5051
+ min-height: 3.05rem;
5052
+ box-shadow: var(--tactile-button-shadow);
5053
+ clip-path: polygon(.24rem 0, calc(100% - .24rem) 0, 100% .24rem, 100% calc(100% - .24rem), calc(100% - .24rem) 100%, .24rem 100%, 0 calc(100% - .24rem), 0 .24rem);
5054
+ letter-spacing: .025em;
5055
+ border-radius: 0;
5056
+ padding: .7rem 1.05rem;
5057
+ font-weight: 850;
5058
+ }
5059
+
5060
+ .tactile-button:hover, .tactile-icon-button:hover, :where([data-ui="tactile"]) .ui-button:hover, :where([data-ui="tactile"]) .ui-icon-button:hover {
5061
+ box-shadow: inset 0 2px 0 var(--tactile-bevel-highlight),inset 0-3px 0 var(--tactile-bevel-shadow),0 3px 0 var(--tactile-keyline),0 .4rem .72rem rgb(var(--tactile-text-rgb)/var(--tactile-shadow-alpha));
5062
+ transform: translateY(-1px);
5063
+ }
5064
+
5065
+ .tactile-input:focus, .tactile-textarea:focus, .tactile-select:focus, :where([data-ui="tactile"]) .ui-input:focus, :where([data-ui="tactile"]) .ui-textarea:focus, :where([data-ui="tactile"]) .ui-select:focus {
5066
+ border-color: var(--tactile-focus);
5067
+ box-shadow: var(--tactile-inset-shadow),var(--tactile-focus-ring);
5068
+ }
5069
+
5070
+ .tactile-badge, :where([data-ui="tactile"]) .ui-badge {
5071
+ border: 1px solid var(--tactile-keyline);
5072
+ border-radius: var(--tactile-radius-xs);
5073
+ min-height: 1.6rem;
5074
+ box-shadow: inset 0 1px 0 var(--tactile-bevel-highlight),0 1px 0 var(--tactile-keyline);
5075
+ letter-spacing: .08em;
5076
+ text-transform: uppercase;
5077
+ padding: .28rem .58rem;
5078
+ font-size: .7rem;
5079
+ font-weight: 900;
5080
+ }
5081
+
5082
+ .tactile-nav, :where([data-ui="tactile"]) .ui-nav {
5083
+ background: var(--tactile-sidebar-bg);
5084
+ border: 1px solid var(--tactile-keyline);
5085
+ border-radius: var(--tactile-radius-md);
5086
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-bg-rgb)/.1),inset 0-2px 0 #00000073,0 .35rem .8rem rgb(var(--tactile-text-rgb)/var(--tactile-shadow-alpha));
5087
+ gap: .2rem;
5088
+ padding: .4rem;
5089
+ }
5090
+
5091
+ .tactile-nav-link, :where([data-ui="tactile"]) .ui-nav-link {
5092
+ border-radius: var(--tactile-radius-xs);
5093
+ letter-spacing: .08em;
5094
+ text-transform: uppercase;
5095
+ min-height: 2.55rem;
5096
+ padding: .62rem .82rem;
5097
+ font-size: .75rem;
5098
+ font-weight: 900;
5099
+ }
5100
+
5101
+ .tactile-alert-title, :where([data-ui="tactile"]) .ui-alert-title {
5102
+ letter-spacing: .08em;
5103
+ text-transform: uppercase;
5104
+ font-size: .76rem;
5105
+ font-weight: 900;
5106
+ }
5107
+
5108
+ .tactile-table, :where([data-ui="tactile"]) .ui-table {
5109
+ border-collapse: separate;
5110
+ border-spacing: 0;
5111
+ }
5112
+
5113
+ .tactile-table th, .tactile-table td, :where([data-ui="tactile"]) .ui-table th, :where([data-ui="tactile"]) .ui-table td {
5114
+ border-inline-end: 1px solid var(--tactile-keyline);
5115
+ border-bottom: 1px solid var(--tactile-keyline);
5116
+ padding: .72rem .82rem;
5117
+ }
5118
+
5119
+ .tactile-table th, :where([data-ui="tactile"]) .ui-table th {
5120
+ color: var(--tactile-sidebar-fg);
5121
+ background: var(--tactile-sidebar-bg);
5122
+ box-shadow: inset 0 -2px #0000006b;
5123
+ }
5124
+
5125
+ .tactile-table td, :where([data-ui="tactile"]) .ui-table td {
5126
+ background: var(--tactile-field-bg);
5127
+ box-shadow: inset 0 1px 0 var(--tactile-bevel-highlight);
5128
+ }
5129
+
5130
+ .tactile-card-service, .tactile-card-feature, .tactile-feature-strip, .tactile-callout-bar {
5131
+ background: var(--tactile-card-bg);
5132
+ border: 1px solid var(--tactile-keyline);
5133
+ border-radius: var(--tactile-radius-lg);
5134
+ box-shadow: var(--tactile-panel-shadow);
5135
+ padding: 1rem;
5136
+ }
5137
+
5138
+ .tactile-card-service {
5139
+ text-align: start;
5140
+ }
5141
+
5142
+ .tactile-feature-item {
5143
+ background: var(--tactile-inset-bg);
5144
+ border-inline-end: 1px solid var(--tactile-keyline);
5145
+ box-shadow: inset 0 1px 0 var(--tactile-bevel-highlight),inset 0-1px 0 var(--tactile-bevel-shadow);
5146
+ padding: .85rem 1rem;
5147
+ }
5148
+
5149
+ .tactile-callout-bar {
5150
+ color: var(--tactile-sidebar-fg);
5151
+ background: var(--tactile-sidebar-bg);
5152
+ border-width: 2px;
5153
+ }
5154
+
5155
+ .tactile-callout-bar > :where(.tactile-button, a, button):last-child, :where([data-ui="tactile"]) .tactile-callout-bar>:where(.ui-button,a,button):last-child {
5156
+ justify-self: end;
5157
+ }
5158
+
5159
+ [data-ui="tactile"][data-mode] :where(fieldset, article, aside, details, dialog) {
5160
+ background-color: var(--tactile-surface);
5161
+ background-image: var(--tactile-card-bg);
5162
+ border: 1px solid var(--tactile-keyline);
5163
+ border-radius: var(--tactile-radius-lg);
5164
+ box-shadow: var(--tactile-panel-shadow);
5165
+ }
5166
+
5167
+ [data-ui="tactile"][data-mode] :where(legend) {
5168
+ background: var(--tactile-control-bg);
5169
+ border: 1px solid var(--tactile-keyline);
5170
+ border-radius: var(--tactile-radius-xs);
5171
+ box-shadow: var(--tactile-button-shadow);
5172
+ letter-spacing: .1em;
5173
+ text-transform: uppercase;
5174
+ padding: .32rem .58rem;
5175
+ font-size: .7rem;
5176
+ font-weight: 900;
5177
+ }
5178
+
5179
+ [data-ui="tactile"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
5180
+ border: 1px solid var(--tactile-keyline);
5181
+ box-shadow: var(--tactile-button-shadow);
5182
+ clip-path: polygon(.2rem 0, calc(100% - .2rem) 0, 100% .2rem, 100% calc(100% - .2rem), calc(100% - .2rem) 100%, .2rem 100%, 0 calc(100% - .2rem), 0 .2rem);
5183
+ border-radius: 0;
5184
+ }
5185
+
5186
+ [data-ui="tactile"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])):active {
5187
+ box-shadow: var(--tactile-inset-shadow);
5188
+ transform: translateY(2px);
5189
+ }
5190
+
5191
+ [data-ui="tactile"][data-mode] :where(dialog) {
5192
+ border: 2px solid var(--tactile-keyline);
4616
5193
  border-radius: var(--tactile-radius-lg);
4617
- box-shadow: inset 0 2px 0 rgb(var(--tactile-surface-strong-rgb)/.78),0 1rem 2rem rgb(var(--tactile-text-rgb)/.24);
5194
+ box-shadow: var(--tactile-panel-shadow);
4618
5195
  }
4619
5196
 
4620
5197
  .tactile-button[aria-busy="true"]:after, .tactile-icon-button[aria-busy="true"]:after, [data-ui="tactile"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]):after, :where([data-ui="tactile"]) .ui-button[aria-busy="true"]:after, :where([data-ui="tactile"]) .ui-icon-button[aria-busy="true"]:after {
@@ -4670,4 +5247,1235 @@
4670
5247
  color: #000 !important;
4671
5248
  }
4672
5249
  }
5250
+
5251
+ .tactile-input[aria-invalid="true"], .tactile-textarea[aria-invalid="true"], .tactile-select[aria-invalid="true"], :where([data-ui="tactile"]) .ui-input[aria-invalid="true"], :where([data-ui="tactile"]) .ui-textarea[aria-invalid="true"], :where([data-ui="tactile"]) .ui-select[aria-invalid="true"] {
5252
+ border-color: var(--tactile-danger);
5253
+ box-shadow: 0 0 0 2px rgb(var(--tactile-danger-rgb)/.18);
5254
+ }
5255
+
5256
+ .tactile-input[readonly], .tactile-textarea[readonly], :where([data-ui="tactile"]) .ui-input[readonly], :where([data-ui="tactile"]) .ui-textarea[readonly] {
5257
+ filter: saturate(.72);
5258
+ opacity: .78;
5259
+ border-style: dashed;
5260
+ }
5261
+
5262
+ .tactile-title {
5263
+ font-family: var(--tactile-font-display);
5264
+ letter-spacing: max(.022em, .5px);
5265
+ margin-block: .75rem;
5266
+ font-weight: 750;
5267
+ }
5268
+
5269
+ .tactile-label, :where([data-ui="tactile"]) .ui-label {
5270
+ letter-spacing: .12em;
5271
+ text-transform: uppercase;
5272
+ font-size: .72rem;
5273
+ font-weight: 900;
5274
+ }
5275
+
5276
+ .tactile-button, .tactile-icon-button, :where([data-ui="tactile"]) .ui-button, :where([data-ui="tactile"]) .ui-icon-button {
5277
+ background: var(--tactile-control-bg);
5278
+ border: 1px solid var(--tactile-keyline);
5279
+ min-height: 3.05rem;
5280
+ box-shadow: var(--tactile-button-shadow);
5281
+ clip-path: polygon(.24rem 0, calc(100% - .24rem) 0, 100% .24rem, 100% calc(100% - .24rem), calc(100% - .24rem) 100%, .24rem 100%, 0 calc(100% - .24rem), 0 .24rem);
5282
+ border-radius: 0;
5283
+ padding: .7rem 1.05rem;
5284
+ font-weight: 850;
5285
+ }
5286
+
5287
+ .tactile-icon-button, :where([data-ui="tactile"]) .ui-icon-button {
5288
+ padding: 0;
5289
+ }
5290
+
5291
+ .tactile-button-primary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="primary"]) {
5292
+ background: var(--tactile-action-bg);
5293
+ box-shadow: var(--tactile-button-shadow);
5294
+ }
5295
+
5296
+ .tactile-button-secondary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="secondary"]) {
5297
+ background: var(--tactile-control-bg);
5298
+ box-shadow: var(--tactile-button-shadow);
5299
+ }
5300
+
5301
+ .tactile-button-danger, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="danger"]) {
5302
+ background: var(--tactile-danger);
5303
+ box-shadow: var(--tactile-button-shadow);
5304
+ }
5305
+
5306
+ .tactile-button:active, .tactile-icon-button:active, .tactile-button[aria-pressed="true"], .tactile-icon-button[aria-pressed="true"], :where([data-ui="tactile"]) .ui-button:active, :where([data-ui="tactile"]) .ui-icon-button:active, :where([data-ui="tactile"]) .ui-button[aria-pressed="true"], :where([data-ui="tactile"]) .ui-icon-button[aria-pressed="true"] {
5307
+ box-shadow: var(--tactile-inset-shadow);
5308
+ transform: translateY(2px);
5309
+ }
5310
+
5311
+ .tactile-input, .tactile-textarea, .tactile-select, :where([data-ui="tactile"]) .ui-input, :where([data-ui="tactile"]) .ui-textarea, :where([data-ui="tactile"]) .ui-select {
5312
+ background: var(--tactile-field-bg);
5313
+ border: 1px solid var(--tactile-keyline);
5314
+ min-height: 3.05rem;
5315
+ box-shadow: var(--tactile-inset-shadow);
5316
+ border-radius: .28rem;
5317
+ padding: .7rem .9rem;
5318
+ }
5319
+
5320
+ .tactile-well, .tactile-inset {
5321
+ background: var(--tactile-inset-bg);
5322
+ border: 1px solid var(--tactile-keyline);
5323
+ box-shadow: var(--tactile-inset-shadow);
5324
+ border-radius: .28rem;
5325
+ }
5326
+
5327
+ .tactile-badge, :where([data-ui="tactile"]) .ui-badge {
5328
+ border-radius: var(--tactile-radius-xs);
5329
+ min-height: 1.6rem;
5330
+ padding: .28rem .58rem;
5331
+ }
5332
+
5333
+ .tactile-alert, :where([data-ui="tactile"]) .ui-alert {
5334
+ background: var(--tactile-card-bg);
5335
+ border: 2px solid var(--tactile-keyline);
5336
+ box-shadow: var(--tactile-panel-shadow);
5337
+ border-inline-start-width: .45rem;
5338
+ border-radius: .28rem;
5339
+ }
5340
+
5341
+ .tactile-progress, :where([data-ui="tactile"]) .ui-progress {
5342
+ background: var(--tactile-recessed-track);
5343
+ border: 2px solid var(--tactile-track-rim);
5344
+ height: .85rem;
5345
+ box-shadow: var(--tactile-deep-inset-shadow);
5346
+ }
5347
+
5348
+ .tactile-progress-bar, :where([data-ui="tactile"]) .ui-progress-bar {
5349
+ background: var(--tactile-progress-fill);
5350
+ border-radius: 0;
5351
+ }
5352
+
5353
+ .tactile-table-wrap, :where([data-ui="tactile"]) .ui-table-wrap {
5354
+ background: var(--tactile-card-bg);
5355
+ box-shadow: var(--tactile-panel-shadow);
5356
+ border-radius: .4rem;
5357
+ }
5358
+
5359
+ .tactile-table th, :where([data-ui="tactile"]) .ui-table th {
5360
+ background: var(--tactile-sidebar-bg);
5361
+ padding: .72rem .82rem;
5362
+ font-weight: 900;
5363
+ }
5364
+
5365
+ .tactile-table td, :where([data-ui="tactile"]) .ui-table td {
5366
+ background: var(--tactile-field-bg);
5367
+ padding: .72rem .82rem;
5368
+ }
5369
+
5370
+ .tactile-nav, :where([data-ui="tactile"]) .ui-nav {
5371
+ background: var(--tactile-sidebar-bg);
5372
+ border: 1px solid var(--tactile-keyline);
5373
+ box-shadow: var(--tactile-panel-shadow);
5374
+ border-radius: .35rem;
5375
+ }
5376
+
5377
+ .tactile-nav-link, :where([data-ui="tactile"]) .ui-nav-link {
5378
+ border-radius: .12rem;
5379
+ min-height: 2.55rem;
5380
+ padding: .62rem .82rem;
5381
+ }
5382
+
5383
+ .tactile-tooltip, [data-ui="tactile"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) {
5384
+ border: 1px solid var(--tactile-keyline);
5385
+ box-shadow: var(--tactile-panel-shadow);
5386
+ border-radius: .2rem;
5387
+ }
5388
+
5389
+ .tactile-feature-item {
5390
+ background: var(--tactile-inset-bg);
5391
+ padding: .85rem 1rem;
5392
+ }
5393
+
5394
+ [data-ui="tactile"][data-mode] :where(fieldset, article, aside, details, dialog) {
5395
+ background: var(--tactile-card-bg);
5396
+ border: 1px solid var(--tactile-keyline);
5397
+ box-shadow: var(--tactile-panel-shadow);
5398
+ border-radius: .4rem;
5399
+ }
5400
+
5401
+ .tactile-button-primary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="primary"]) {
5402
+ background: var(--tactile-primary);
5403
+ color: var(--tactile-on-primary);
5404
+ border-color: var(--tactile-primary);
5405
+ }
5406
+
5407
+ .tactile-button-ghost, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="ghost"]) {
5408
+ color: var(--tactile-primary);
5409
+ background: none;
5410
+ border-color: #0000;
5411
+ }
5412
+
5413
+ .tactile-feature-item > .tactile-icon-medallion {
5414
+ font-size: 1.5rem;
5415
+ line-height: 1;
5416
+ }
5417
+
5418
+ .tactile-callout-bar > .tactile-icon-medallion {
5419
+ min-block-size: 4.5rem;
5420
+ min-inline-size: 4.5rem;
5421
+ font-size: 2rem;
5422
+ font-weight: 800;
5423
+ line-height: 1;
5424
+ }
5425
+
5426
+ :root {
5427
+ --tactile-font-sans: "Segoe UI", Tahoma, Arial, sans-serif;
5428
+ --tactile-font-display: Georgia, Cambria, "Times New Roman", Times, serif;
5429
+ --tactile-font-body: var(--tactile-font-sans);
5430
+ --tactile-font-heading: var(--tactile-font-display);
5431
+ --tactile-font-control: "Arial Narrow", "Aptos Narrow", "Segoe UI", Tahoma, Arial, sans-serif;
5432
+ --tactile-radius-xs: .12rem;
5433
+ --tactile-radius-sm: .18rem;
5434
+ --tactile-radius-md: .24rem;
5435
+ --tactile-radius-lg: .38rem;
5436
+ --tactile-radius-xl: .5rem;
5437
+ }
5438
+
5439
+ [data-ui="tactile"][data-mode="light"] {
5440
+ --tactile-paper-rgb: 246 240 224;
5441
+ --tactile-paper-deep-rgb: 229 218 194;
5442
+ --tactile-paper-highlight-rgb: 255 252 241;
5443
+ --tactile-ink-rgb: 45 40 34;
5444
+ --tactile-muted-ink-rgb: 96 86 73;
5445
+ --tactile-keyline-rgb: 158 135 99;
5446
+ --tactile-material-shadow-rgb: 74 61 43;
5447
+ --tactile-track-rgb: 37 33 31;
5448
+ --tactile-sidebar-rgb: 45 41 36;
5449
+ --tactile-sidebar-text-rgb: 236 221 190;
5450
+ --tactile-copper-rgb: 177 60 28;
5451
+ --tactile-olive-rgb: 91 104 67;
5452
+ --tactile-brass-rgb: 197 160 82;
5453
+ }
5454
+
5455
+ [data-ui="tactile"][data-mode="dark"] {
5456
+ --tactile-paper-rgb: 57 51 44;
5457
+ --tactile-paper-deep-rgb: 42 38 34;
5458
+ --tactile-paper-highlight-rgb: 84 75 63;
5459
+ --tactile-ink-rgb: 241 232 214;
5460
+ --tactile-muted-ink-rgb: 198 184 158;
5461
+ --tactile-keyline-rgb: 151 128 91;
5462
+ --tactile-material-shadow-rgb: 0 0 0;
5463
+ --tactile-track-rgb: 25 23 21;
5464
+ --tactile-sidebar-rgb: 27 25 23;
5465
+ --tactile-sidebar-text-rgb: 236 218 184;
5466
+ --tactile-copper-rgb: 211 83 43;
5467
+ --tactile-olive-rgb: 131 145 92;
5468
+ --tactile-brass-rgb: 222 181 91;
5469
+ }
5470
+
5471
+ [data-ui="tactile"][data-mode="contrast"] {
5472
+ --tactile-paper-rgb: 0 0 0;
5473
+ --tactile-paper-deep-rgb: 0 0 0;
5474
+ --tactile-paper-highlight-rgb: 255 255 255;
5475
+ --tactile-ink-rgb: 255 255 255;
5476
+ --tactile-muted-ink-rgb: 255 255 255;
5477
+ --tactile-keyline-rgb: 255 255 255;
5478
+ --tactile-material-shadow-rgb: 0 0 0;
5479
+ --tactile-track-rgb: 0 0 0;
5480
+ --tactile-sidebar-rgb: 0 0 0;
5481
+ --tactile-sidebar-text-rgb: 255 255 255;
5482
+ --tactile-copper-rgb: 255 110 48;
5483
+ --tactile-olive-rgb: 196 232 112;
5484
+ --tactile-brass-rgb: 255 214 102;
5485
+ }
5486
+
5487
+ [data-ui="tactile"][data-theme][data-mode] {
5488
+ --tactile-paper-rgb: var(--usk-bg-rgb);
5489
+ --tactile-paper-deep-rgb: var(--usk-surface-soft-rgb);
5490
+ --tactile-paper-highlight-rgb: var(--usk-surface-strong-rgb);
5491
+ --tactile-ink-rgb: var(--usk-text-rgb);
5492
+ --tactile-muted-ink-rgb: var(--usk-text-muted-rgb);
5493
+ --tactile-keyline-rgb: var(--usk-border-rgb);
5494
+ --tactile-material-shadow-rgb: var(--usk-text-rgb);
5495
+ --tactile-track-rgb: var(--usk-text-rgb);
5496
+ --tactile-sidebar-rgb: var(--usk-text-rgb);
5497
+ --tactile-sidebar-text-rgb: var(--usk-bg-rgb);
5498
+ --tactile-copper-rgb: var(--usk-primary-rgb);
5499
+ --tactile-olive-rgb: var(--usk-success-rgb);
5500
+ --tactile-brass-rgb: var(--usk-accent-rgb);
5501
+ }
5502
+
5503
+ [data-ui="tactile"][data-mode] {
5504
+ --tactile-paper: rgb(var(--tactile-paper-rgb));
5505
+ --tactile-paper-deep: rgb(var(--tactile-paper-deep-rgb));
5506
+ --tactile-paper-highlight: rgb(var(--tactile-paper-highlight-rgb));
5507
+ --tactile-ink: rgb(var(--tactile-ink-rgb));
5508
+ --tactile-muted-ink: rgb(var(--tactile-muted-ink-rgb));
5509
+ --tactile-copper: rgb(var(--tactile-copper-rgb));
5510
+ --tactile-olive: rgb(var(--tactile-olive-rgb));
5511
+ --tactile-brass: rgb(var(--tactile-brass-rgb));
5512
+ --tactile-bg: var(--tactile-paper);
5513
+ --tactile-surface: var(--tactile-paper);
5514
+ --tactile-surface-strong: var(--tactile-paper-highlight);
5515
+ --tactile-surface-soft: var(--tactile-paper-deep);
5516
+ --tactile-text: var(--tactile-ink);
5517
+ --tactile-text-muted: var(--tactile-muted-ink);
5518
+ --tactile-fg: var(--tactile-ink);
5519
+ --tactile-surface-fg: var(--tactile-ink);
5520
+ --tactile-muted: var(--tactile-muted-ink);
5521
+ --tactile-control-fg: var(--tactile-ink);
5522
+ --tactile-border: rgb(var(--tactile-keyline-rgb) / .72);
5523
+ --tactile-keyline: rgb(var(--tactile-keyline-rgb) / .78);
5524
+ --tactile-bevel-highlight: rgb(var(--tactile-paper-highlight-rgb) / .88);
5525
+ --tactile-bevel-shadow: rgb(var(--tactile-material-shadow-rgb) / .24);
5526
+ --tactile-paper-wash: rgb(var(--tactile-brass-rgb) / .06);
5527
+ --tactile-paper-grain: radial-gradient(circle at 16% 22%, rgb(var(--tactile-ink-rgb) / .025) 0 1px, transparent 1.2px), radial-gradient(circle at 72% 64%, rgb(var(--tactile-brass-rgb) / .04) 0 1px, transparent 1.3px), repeating-linear-gradient(96deg, transparent 0 2.4rem, rgb(var(--tactile-ink-rgb) / .012) 2.45rem 2.5rem);
5528
+ --tactile-paper-bg: linear-gradient(180deg, rgb(var(--tactile-paper-highlight-rgb) / .34), transparent 11rem), linear-gradient(102deg, rgb(var(--tactile-brass-rgb) / .035), transparent 32rem), var(--tactile-paper);
5529
+ --tactile-theme-bg: var(--tactile-paper-grain), var(--tactile-paper-bg);
5530
+ --tactile-card-bg: var(--tactile-paper-grain), var(--tactile-paper-bg);
5531
+ --tactile-control-bg: linear-gradient(180deg, var(--tactile-paper-highlight) 0, var(--tactile-paper) 48%, var(--tactile-paper-deep) 100%);
5532
+ --tactile-field-bg: linear-gradient(180deg, rgb(var(--tactile-material-shadow-rgb) / .075), transparent .24rem), linear-gradient(180deg, var(--tactile-paper) 0, rgb(var(--tactile-paper-highlight-rgb) / .7) 100%);
5533
+ --tactile-inset-bg: linear-gradient(180deg, rgb(var(--tactile-material-shadow-rgb) / .1), transparent .28rem), var(--tactile-paper);
5534
+ --tactile-recessed-track: rgb(var(--tactile-track-rgb));
5535
+ --tactile-track-rim: rgb(var(--tactile-keyline-rgb) / .9);
5536
+ --tactile-progress-track: linear-gradient(180deg, var(--tactile-paper-deep), var(--tactile-paper-highlight));
5537
+ --tactile-thumb-bg: linear-gradient(90deg, var(--tactile-paper-deep), var(--tactile-paper-highlight) 42%, var(--tactile-paper) 58%, var(--tactile-paper-deep));
5538
+ --tactile-select-endcap: linear-gradient(90deg, transparent calc(100% - 2.25rem), rgb(var(--tactile-keyline-rgb) / .56) calc(100% - 2.25rem), rgb(var(--tactile-keyline-rgb) / .56) calc(100% - 2.2rem), transparent calc(100% - 2.2rem)), linear-gradient(135deg, transparent 50%, var(--tactile-ink) 50%), linear-gradient(45deg, var(--tactile-ink) 50%, transparent 50%), linear-gradient(45deg, transparent 50%, var(--tactile-ink) 50%), linear-gradient(135deg, var(--tactile-ink) 50%, transparent 50%), var(--tactile-field-bg);
5539
+ --tactile-sidebar-bg: linear-gradient(90deg, rgb(var(--tactile-sidebar-rgb) / .98), rgb(var(--tactile-sidebar-rgb)));
5540
+ --tactile-sidebar-fg: rgb(var(--tactile-sidebar-text-rgb));
5541
+ --tactile-sidebar-muted: rgb(var(--tactile-sidebar-text-rgb) / .78);
5542
+ --tactile-rail: var(--tactile-copper);
5543
+ --tactile-panel-shadow: inset 0 1px 0 var(--tactile-bevel-highlight), inset 0 -1px 0 rgb(var(--tactile-material-shadow-rgb) / .18), 0 1px 2px rgb(var(--tactile-material-shadow-rgb) / .2), 0 .28rem .62rem rgb(var(--tactile-material-shadow-rgb) / .09);
5544
+ --tactile-button-shadow: inset 0 1px 0 var(--tactile-bevel-highlight), inset 0 -2px 0 rgb(var(--tactile-material-shadow-rgb) / .22), 0 1px 2px rgb(var(--tactile-material-shadow-rgb) / .22);
5545
+ --tactile-inset-shadow: inset .1rem .12rem .22rem rgb(var(--tactile-material-shadow-rgb) / .2), inset -.04rem -.04rem .12rem rgb(var(--tactile-paper-highlight-rgb) / .34);
5546
+ --tactile-deep-inset-shadow: inset .12rem .14rem .2rem #000000b8, inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb) / .12);
5547
+ --tactile-progress-fill: repeating-linear-gradient(90deg, var(--tactile-olive) 0 calc(14.285% - 1px), rgb(var(--tactile-keyline-rgb) / .84) calc(14.285% - 1px) 14.285%);
5548
+ --usk-native-surface: var(--tactile-paper);
5549
+ --usk-native-surface-strong: var(--tactile-paper-highlight);
5550
+ --usk-native-surface-soft: var(--tactile-paper-deep);
5551
+ --usk-native-card-bg: var(--tactile-card-bg);
5552
+ --usk-native-control-bg: var(--tactile-field-bg);
5553
+ --usk-native-text: var(--tactile-ink);
5554
+ --usk-native-text-muted: var(--tactile-muted-ink);
5555
+ --usk-native-border: var(--tactile-keyline);
5556
+ --usk-native-font-body: var(--tactile-font-body);
5557
+ --usk-native-font-heading: var(--tactile-font-heading);
5558
+ --usk-native-font-control: var(--tactile-font-control);
5559
+ --usk-native-shadow: var(--tactile-button-shadow);
5560
+ --usk-native-shadow-md: var(--tactile-panel-shadow);
5561
+ --usk-native-control-min-block-size: 2.75rem;
5562
+ --usk-native-control-padding-block: .55rem;
5563
+ --usk-native-control-padding-inline: .78rem;
5564
+ --usk-native-subcontrol-padding-block: .45rem;
5565
+ --usk-native-subcontrol-padding-inline: .66rem;
5566
+ --usk-native-panel-padding: 1rem;
5567
+ --usk-native-choice-size: 1.05rem;
5568
+ --usk-native-choice-background: var(--tactile-field-bg);
5569
+ --usk-native-choice-border: 1px solid var(--tactile-keyline);
5570
+ --usk-native-choice-shadow: var(--tactile-inset-shadow);
5571
+ --usk-native-choice-checked-background: var(--tactile-copper);
5572
+ --usk-native-choice-mark-color: var(--tactile-paper-highlight);
5573
+ --usk-native-checkbox-radius: .08rem;
5574
+ --usk-native-select-indicator-size: .36rem .36rem, .36rem .36rem;
5575
+ --usk-native-select-indicator-position: calc(100% - 1.05rem) calc(50% - .22rem), calc(100% - 1.05rem) calc(50% + .22rem);
5576
+ --usk-native-select-padding-inline-end: 2.6rem;
5577
+ --usk-native-range-track-size: .55rem;
5578
+ --usk-native-range-track-background: var(--tactile-recessed-track);
5579
+ --usk-native-range-track-border: 1px solid var(--tactile-track-rim);
5580
+ --usk-native-range-track-radius: .16rem;
5581
+ --usk-native-range-track-shadow: var(--tactile-deep-inset-shadow);
5582
+ --usk-native-range-thumb-size: 1.35rem;
5583
+ --usk-native-range-thumb-background: var(--tactile-thumb-bg);
5584
+ --usk-native-range-thumb-border: 1px solid var(--tactile-keyline);
5585
+ --usk-native-range-thumb-radius: .16rem;
5586
+ --usk-native-range-thumb-shadow: var(--tactile-button-shadow);
5587
+ --usk-native-progress-size: .68rem;
5588
+ --usk-native-progress-track-background: var(--tactile-progress-track);
5589
+ --usk-native-progress-track-border: 1px solid var(--tactile-keyline);
5590
+ --usk-native-progress-track-radius: .14rem;
5591
+ --usk-native-progress-track-shadow: var(--tactile-inset-shadow);
5592
+ --usk-native-progress-value-background: var(--tactile-progress-fill);
5593
+ --usk-native-progress-value-radius: .08rem;
5594
+ --usk-native-progress-value-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb) / .3);
5595
+ --usk-native-meter-optimum-background: var(--tactile-olive);
5596
+ --usk-native-meter-suboptimum-background: var(--tactile-brass);
5597
+ --usk-native-meter-critical-background: var(--tactile-copper);
5598
+ --usk-native-file-button-background: var(--tactile-control-bg);
5599
+ --usk-native-file-button-border: 1px solid var(--tactile-keyline);
5600
+ --usk-native-file-button-radius: .2rem;
5601
+ --usk-native-file-button-shadow: var(--tactile-button-shadow);
5602
+ --usk-native-color-swatch-border: 1px solid var(--tactile-keyline);
5603
+ --usk-native-color-swatch-radius: .12rem;
5604
+ --usk-native-scrollbar-track: var(--tactile-paper-deep);
5605
+ --usk-native-scrollbar-thumb: var(--tactile-thumb-bg);
5606
+ --usk-native-scrollbar-radius: .14rem;
5607
+ }
5608
+
5609
+ [data-ui="tactile"] {
5610
+ background: var(--tactile-theme-bg);
5611
+ color: var(--tactile-ink);
5612
+ font-family: var(--tactile-font-body);
5613
+ font-size: .875rem;
5614
+ line-height: 1.42;
5615
+ }
5616
+
5617
+ .tactile-title {
5618
+ font-family: var(--tactile-font-display);
5619
+ letter-spacing: max(.022em, .5px);
5620
+ margin-block: .75rem;
5621
+ font-size: clamp(2rem, 4.2vw, 3.05rem);
5622
+ font-weight: 700;
5623
+ line-height: 1.02;
5624
+ }
5625
+
5626
+ .tactile-heading {
5627
+ font-family: var(--tactile-font-heading);
5628
+ letter-spacing: -.015em;
5629
+ font-size: clamp(1.25rem, 2vw, 1.7rem);
5630
+ font-weight: 700;
5631
+ line-height: 1.08;
5632
+ }
5633
+
5634
+ .tactile-kicker, .tactile-eyebrow {
5635
+ font-family: var(--tactile-font-control);
5636
+ letter-spacing: .075em;
5637
+ text-transform: uppercase;
5638
+ font-size: .7rem;
5639
+ font-weight: 700;
5640
+ }
5641
+
5642
+ .tactile-label, :where([data-ui="tactile"]) .ui-label {
5643
+ color: var(--tactile-ink);
5644
+ font-family: var(--tactile-font-control);
5645
+ letter-spacing: .01em;
5646
+ text-transform: none;
5647
+ font-size: .74rem;
5648
+ font-weight: 650;
5649
+ }
5650
+
5651
+ .tactile-subtitle, .tactile-copy, .tactile-help-text, .tactile-alert-body, :where([data-ui="tactile"]) .ui-help-text, :where([data-ui="tactile"]) .ui-alert-body {
5652
+ color: var(--tactile-muted-ink);
5653
+ }
5654
+
5655
+ .tactile-divider {
5656
+ background: rgb(var(--tactile-keyline-rgb)/.44);
5657
+ box-shadow: 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.58);
5658
+ }
5659
+
5660
+ .tactile-surface, .tactile-card, .tactile-panel, .tactile-toolbar, .tactile-table-wrap, :where([data-ui="tactile"]) .ui-card, :where([data-ui="tactile"]) .ui-toolbar, :where([data-ui="tactile"]) .ui-table-wrap {
5661
+ background: var(--tactile-card-bg);
5662
+ border: 1px solid var(--tactile-keyline);
5663
+ box-shadow: var(--tactile-panel-shadow);
5664
+ border-radius: .38rem;
5665
+ }
5666
+
5667
+ .tactile-card, .tactile-panel, :where([data-ui="tactile"]) .ui-card {
5668
+ padding: 1rem;
5669
+ }
5670
+
5671
+ .tactile-toolbar, :where([data-ui="tactile"]) .ui-toolbar {
5672
+ padding: .72rem .82rem;
5673
+ }
5674
+
5675
+ .tactile-well, .tactile-inset {
5676
+ background: var(--tactile-inset-bg);
5677
+ border: 1px solid rgb(var(--tactile-keyline-rgb)/.64);
5678
+ box-shadow: var(--tactile-inset-shadow);
5679
+ border-radius: .28rem;
5680
+ padding: .82rem;
5681
+ }
5682
+
5683
+ .tactile-button, .tactile-icon-button, :where([data-ui="tactile"]) .ui-button, :where([data-ui="tactile"]) .ui-icon-button {
5684
+ background: var(--tactile-control-bg);
5685
+ min-height: 2.75rem;
5686
+ color: var(--tactile-ink);
5687
+ border: 1px solid var(--tactile-keyline);
5688
+ box-shadow: var(--tactile-button-shadow);
5689
+ clip-path: none;
5690
+ font-family: var(--tactile-font-control);
5691
+ letter-spacing: .005em;
5692
+ text-transform: none;
5693
+ border-radius: .24rem;
5694
+ padding: .55rem .9rem;
5695
+ font-size: .84rem;
5696
+ font-weight: 600;
5697
+ line-height: 1.2;
5698
+ }
5699
+
5700
+ .tactile-icon-button, :where([data-ui="tactile"]) .ui-icon-button {
5701
+ width: 2.75rem;
5702
+ padding: 0;
5703
+ }
5704
+
5705
+ .tactile-button:hover, .tactile-icon-button:hover, :where([data-ui="tactile"]) .ui-button:hover, :where([data-ui="tactile"]) .ui-icon-button:hover {
5706
+ border-color: rgb(var(--tactile-keyline-rgb)/.96);
5707
+ box-shadow: inset 0 1px 0 var(--tactile-bevel-highlight),inset 0-2px 0 rgb(var(--tactile-material-shadow-rgb)/.26),0 2px 3px rgb(var(--tactile-material-shadow-rgb)/.2);
5708
+ transform: translateY(-1px);
5709
+ }
5710
+
5711
+ .tactile-button:active, .tactile-icon-button:active, .tactile-button[aria-pressed="true"], .tactile-icon-button[aria-pressed="true"], .tactile-button.is-active, .tactile-icon-button.is-active, :where([data-ui="tactile"]) .ui-button:active, :where([data-ui="tactile"]) .ui-icon-button:active, :where([data-ui="tactile"]) .ui-button[aria-pressed="true"], :where([data-ui="tactile"]) .ui-icon-button[aria-pressed="true"], :where([data-ui="tactile"]) .ui-button.is-active, :where([data-ui="tactile"]) .ui-icon-button.is-active {
5712
+ box-shadow: var(--tactile-inset-shadow);
5713
+ transform: translateY(1px);
5714
+ }
5715
+
5716
+ .tactile-button-primary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="primary"]) {
5717
+ background: linear-gradient(180deg,var(--tactile-primary-hover),var(--tactile-primary) 48%,rgb(var(--tactile-primary-rgb)/.84));
5718
+ color: var(--tactile-on-primary);
5719
+ border-color: var(--tactile-primary);
5720
+ box-shadow: inset 0 1px 0 #ffffff6b,inset 0-2px 0 #00000040,0 1px 2px rgb(var(--tactile-material-shadow-rgb)/.3);
5721
+ }
5722
+
5723
+ .tactile-button-secondary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="secondary"]) {
5724
+ background: var(--tactile-control-bg);
5725
+ color: var(--tactile-ink);
5726
+ border-color: var(--tactile-keyline);
5727
+ }
5728
+
5729
+ .tactile-button-danger, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="danger"]) {
5730
+ background: linear-gradient(180deg,rgb(var(--tactile-danger-rgb)/.88),var(--tactile-danger) 52%,rgb(var(--tactile-danger-rgb)/.76));
5731
+ color: var(--tactile-on-danger);
5732
+ border-color: var(--tactile-danger);
5733
+ }
5734
+
5735
+ @supports (color: color-mix(in srgb,black,white)) {
5736
+ .tactile-button-primary, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="primary"]) {
5737
+ background: linear-gradient(180deg,color-mix(in srgb,var(--tactile-primary),white 16%),var(--tactile-primary) 48%,color-mix(in srgb,var(--tactile-primary),black 18%));
5738
+ border-color: color-mix(in srgb,var(--tactile-primary),black 34%);
5739
+ box-shadow: inset 0 1px 0 #ffffff6b,inset 0-2px 0 #00000040,0 1px 2px rgb(var(--tactile-material-shadow-rgb)/.3);
5740
+ }
5741
+
5742
+ .tactile-button-danger, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="danger"]) {
5743
+ background: linear-gradient(180deg,color-mix(in srgb,var(--tactile-danger),white 12%),var(--tactile-danger) 52%,color-mix(in srgb,var(--tactile-danger),black 18%));
5744
+ border-color: color-mix(in srgb,var(--tactile-danger),black 30%);
5745
+ }
5746
+ }
5747
+
5748
+ .tactile-button-ghost, :where([data-ui="tactile"]) .ui-button:where([data-ui-variant="ghost"]) {
5749
+ color: var(--tactile-primary);
5750
+ box-shadow: none;
5751
+ background: none;
5752
+ border-color: #0000;
5753
+ }
5754
+
5755
+ .tactile-button:disabled, .tactile-icon-button:disabled, .tactile-disabled, :where([data-ui="tactile"]) .ui-button:disabled, :where([data-ui="tactile"]) .ui-icon-button:disabled {
5756
+ opacity: .46;
5757
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.38),inset 0-1px 0 rgb(var(--tactile-material-shadow-rgb)/.12);
5758
+ transform: none;
5759
+ }
5760
+
5761
+ .tactile-input, .tactile-textarea, .tactile-select, :where([data-ui="tactile"]) .ui-input, :where([data-ui="tactile"]) .ui-textarea, :where([data-ui="tactile"]) .ui-select {
5762
+ background: var(--tactile-field-bg);
5763
+ min-height: 2.75rem;
5764
+ color: var(--tactile-ink);
5765
+ border: 1px solid var(--tactile-keyline);
5766
+ box-shadow: var(--tactile-inset-shadow);
5767
+ font-family: var(--tactile-font-control);
5768
+ border-radius: .24rem;
5769
+ padding: .55rem .72rem;
5770
+ font-size: .84rem;
5771
+ font-weight: 500;
5772
+ }
5773
+
5774
+ .tactile-select, :where([data-ui="tactile"]) .ui-select {
5775
+ appearance: none;
5776
+ background-image: var(--tactile-select-endcap);
5777
+ background-position: 0 0, calc(100% - 1.18rem) calc(50% - .36rem), calc(100% - .9rem) calc(50% - .36rem), calc(100% - 1.18rem) calc(50% + .34rem), calc(100% - .9rem) calc(50% + .34rem), 0 0;
5778
+ background-repeat: no-repeat;
5779
+ background-size: 100% 100%, .28rem .28rem, .28rem .28rem, .28rem .28rem, .28rem .28rem, 100% 100%;
5780
+ padding-inline-end: 2.75rem;
5781
+ }
5782
+
5783
+ .tactile-input::placeholder, .tactile-textarea::placeholder, :where([data-ui="tactile"]) .ui-input::placeholder, :where([data-ui="tactile"]) .ui-textarea::placeholder {
5784
+ color: var(--tactile-muted-ink);
5785
+ opacity: .72;
5786
+ }
5787
+
5788
+ .tactile-check-control, .tactile-radio-control, :where([data-ui="tactile"]) .ui-check-control, :where([data-ui="tactile"]) .ui-radio-control {
5789
+ background: var(--tactile-field-bg);
5790
+ border: 1px solid var(--tactile-keyline);
5791
+ width: 1.05rem;
5792
+ height: 1.05rem;
5793
+ box-shadow: var(--tactile-inset-shadow);
5794
+ }
5795
+
5796
+ .tactile-check input:checked + .tactile-check-control, .tactile-radio input:checked + .tactile-radio-control, :where([data-ui="tactile"]) .ui-check input:checked+.ui-check-control, :where([data-ui="tactile"]) .ui-radio input:checked+.ui-radio-control {
5797
+ background: var(--tactile-copper);
5798
+ border-color: rgb(var(--tactile-copper-rgb)/.96);
5799
+ box-shadow: inset 0 1px 0 #ffffff4d,var(--tactile-focus-ring);
5800
+ }
5801
+
5802
+ .tactile-radio input:checked + .tactile-radio-control, :where([data-ui="tactile"]) .ui-radio input:checked+.ui-radio-control {
5803
+ background: var(--tactile-field-bg);
5804
+ }
5805
+
5806
+ .tactile-radio input:checked + .tactile-radio-control:after, :where([data-ui="tactile"]) .ui-radio input:checked+.ui-radio-control:after {
5807
+ background: var(--tactile-copper);
5808
+ width: .52rem;
5809
+ height: .52rem;
5810
+ }
5811
+
5812
+ .tactile-switch-track, :where([data-ui="tactile"]) .ui-switch-track {
5813
+ background: var(--tactile-recessed-track);
5814
+ border: 1px solid var(--tactile-track-rim);
5815
+ width: 4.1rem;
5816
+ height: 1.75rem;
5817
+ box-shadow: var(--tactile-deep-inset-shadow);
5818
+ border-radius: .2rem;
5819
+ }
5820
+
5821
+ .tactile-switch-thumb, :where([data-ui="tactile"]) .ui-switch-thumb {
5822
+ background: var(--tactile-thumb-bg);
5823
+ border: 1px solid var(--tactile-keyline);
5824
+ width: 1.42rem;
5825
+ height: 1.42rem;
5826
+ box-shadow: var(--tactile-button-shadow);
5827
+ border-radius: .16rem;
5828
+ top: .14rem;
5829
+ left: .14rem;
5830
+ }
5831
+
5832
+ .tactile-switch input:checked + .tactile-switch-track, :where([data-ui="tactile"]) .ui-switch input:checked+.ui-switch-track {
5833
+ background: linear-gradient(90deg,var(--tactile-recessed-track)0 50%,var(--tactile-olive) 50% 100%);
5834
+ border-color: var(--tactile-keyline);
5835
+ }
5836
+
5837
+ .tactile-switch input:checked + .tactile-switch-track .tactile-switch-thumb, :where([data-ui="tactile"]) .ui-switch input:checked+.ui-switch-track .ui-switch-thumb {
5838
+ left: calc(100% - 1.56rem);
5839
+ }
5840
+
5841
+ .tactile-nav, :where([data-ui="tactile"]) .ui-nav {
5842
+ background: var(--tactile-sidebar-bg);
5843
+ border: 1px solid rgb(var(--tactile-keyline-rgb)/.72);
5844
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-sidebar-text-rgb)/.1),inset 0-1px 0 #00000085,0 2px 5px #0000002e;
5845
+ border-radius: .28rem;
5846
+ gap: .2rem;
5847
+ padding: .35rem;
5848
+ }
5849
+
5850
+ .tactile-nav-link, :where([data-ui="tactile"]) .ui-nav-link {
5851
+ min-height: 2.65rem;
5852
+ color: var(--tactile-sidebar-muted);
5853
+ font-family: var(--tactile-font-control);
5854
+ letter-spacing: .01em;
5855
+ text-transform: none;
5856
+ border-radius: .18rem;
5857
+ padding: .58rem .76rem;
5858
+ font-size: .84rem;
5859
+ font-weight: 500;
5860
+ }
5861
+
5862
+ .tactile-nav-link:hover, :where([data-ui="tactile"]) .ui-nav-link:hover {
5863
+ color: var(--tactile-sidebar-fg);
5864
+ background: rgb(var(--tactile-sidebar-text-rgb)/.055);
5865
+ border-color: rgb(var(--tactile-sidebar-text-rgb)/.14);
5866
+ }
5867
+
5868
+ .tactile-nav-link[aria-current="page"], .tactile-nav-link.is-active, :where([data-ui="tactile"]) .ui-nav-link[aria-current="page"], :where([data-ui="tactile"]) .ui-nav-link.is-active {
5869
+ color: var(--tactile-brass);
5870
+ background: rgb(var(--tactile-sidebar-text-rgb)/.06);
5871
+ border-color: rgb(var(--tactile-sidebar-text-rgb)/.18);
5872
+ box-shadow: inset .18rem 0 0 var(--tactile-copper),inset .08rem .08rem .18rem #00000061;
5873
+ }
5874
+
5875
+ .tactile-progress, :where([data-ui="tactile"]) .ui-progress {
5876
+ background: var(--tactile-progress-track);
5877
+ border: 1px solid var(--tactile-keyline);
5878
+ height: .68rem;
5879
+ box-shadow: var(--tactile-inset-shadow);
5880
+ border-radius: .14rem;
5881
+ padding: .08rem;
5882
+ }
5883
+
5884
+ .tactile-progress-bar, :where([data-ui="tactile"]) .ui-progress-bar {
5885
+ background: var(--tactile-progress-fill);
5886
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.26);
5887
+ border-radius: .06rem;
5888
+ }
5889
+
5890
+ .tactile-badge, :where([data-ui="tactile"]) .ui-badge {
5891
+ border: 1px solid var(--tactile-keyline);
5892
+ min-height: 1.45rem;
5893
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.34);
5894
+ letter-spacing: .045em;
5895
+ border-radius: .12rem;
5896
+ padding: .22rem .48rem;
5897
+ font-size: .68rem;
5898
+ font-weight: 700;
5899
+ }
5900
+
5901
+ .tactile-alert, :where([data-ui="tactile"]) .ui-alert {
5902
+ background: var(--tactile-card-bg);
5903
+ border: 1px solid var(--tactile-keyline);
5904
+ box-shadow: var(--tactile-panel-shadow);
5905
+ border-inline-start-width: .28rem;
5906
+ border-radius: .3rem;
5907
+ padding: .82rem .9rem;
5908
+ }
5909
+
5910
+ .tactile-alert-title, :where([data-ui="tactile"]) .ui-alert-title {
5911
+ letter-spacing: .045em;
5912
+ font-size: .72rem;
5913
+ font-weight: 700;
5914
+ }
5915
+
5916
+ .tactile-table th, .tactile-table td, :where([data-ui="tactile"]) .ui-table th, :where([data-ui="tactile"]) .ui-table td {
5917
+ border-color: rgb(var(--tactile-keyline-rgb)/.52);
5918
+ padding: .62rem .72rem;
5919
+ }
5920
+
5921
+ .tactile-table th, :where([data-ui="tactile"]) .ui-table th {
5922
+ color: var(--tactile-sidebar-fg);
5923
+ background: var(--tactile-sidebar-bg);
5924
+ font-family: var(--tactile-font-control);
5925
+ letter-spacing: .055em;
5926
+ font-size: .7rem;
5927
+ font-weight: 700;
5928
+ }
5929
+
5930
+ .tactile-table td, :where([data-ui="tactile"]) .ui-table td {
5931
+ color: var(--tactile-ink);
5932
+ background: var(--tactile-field-bg);
5933
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.28);
5934
+ }
5935
+
5936
+ .tactile-tooltip, [data-ui="tactile"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) {
5937
+ background: var(--tactile-sidebar-bg);
5938
+ color: var(--tactile-sidebar-fg);
5939
+ border: 1px solid rgb(var(--tactile-keyline-rgb)/.72);
5940
+ font-family: var(--tactile-font-control);
5941
+ border-radius: .2rem;
5942
+ font-size: .75rem;
5943
+ box-shadow: 0 .28rem .6rem #0000003d;
5944
+ }
5945
+
5946
+ .tactile-card-service, .tactile-card-feature, .tactile-feature-strip, .tactile-callout-bar {
5947
+ background: var(--tactile-card-bg);
5948
+ border: 1px solid var(--tactile-keyline);
5949
+ box-shadow: var(--tactile-panel-shadow);
5950
+ border-radius: .38rem;
5951
+ padding: .9rem;
5952
+ }
5953
+
5954
+ .tactile-feature-item {
5955
+ background: var(--tactile-inset-bg);
5956
+ border-color: rgb(var(--tactile-keyline-rgb)/.54);
5957
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.3);
5958
+ padding: .72rem .82rem;
5959
+ }
5960
+
5961
+ .tactile-icon-medallion, .tactile-badge-seal {
5962
+ background: var(--tactile-sidebar-bg);
5963
+ color: var(--tactile-brass);
5964
+ border-color: rgb(var(--tactile-keyline-rgb)/.82);
5965
+ box-shadow: var(--tactile-button-shadow);
5966
+ }
5967
+
5968
+ .tactile-badge-seal {
5969
+ color: var(--tactile-sidebar-fg);
5970
+ }
5971
+
5972
+ .tactile-badge-seal > :where(strong, small) {
5973
+ color: inherit;
5974
+ }
5975
+
5976
+ .tactile-callout-bar {
5977
+ color: var(--tactile-sidebar-fg);
5978
+ background: var(--tactile-sidebar-bg);
5979
+ }
5980
+
5981
+ [data-ui="tactile"][data-mode] :where(fieldset, article, aside, details, dialog) {
5982
+ background-color: var(--tactile-paper);
5983
+ background-image: var(--tactile-card-bg);
5984
+ color: var(--tactile-ink);
5985
+ border: 1px solid var(--tactile-keyline);
5986
+ box-shadow: var(--tactile-panel-shadow);
5987
+ border-radius: .38rem;
5988
+ }
5989
+
5990
+ [data-ui="tactile"][data-mode] :where(legend) {
5991
+ background: var(--tactile-control-bg);
5992
+ color: var(--tactile-ink);
5993
+ border: 1px solid var(--tactile-keyline);
5994
+ box-shadow: var(--tactile-button-shadow);
5995
+ font-family: var(--tactile-font-control);
5996
+ letter-spacing: .055em;
5997
+ border-radius: .16rem;
5998
+ padding: .26rem .5rem;
5999
+ font-size: .68rem;
6000
+ font-weight: 700;
6001
+ }
6002
+
6003
+ [data-ui="tactile"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
6004
+ background: var(--tactile-control-bg);
6005
+ min-height: 2.75rem;
6006
+ color: var(--tactile-ink);
6007
+ border: 1px solid var(--tactile-keyline);
6008
+ box-shadow: var(--tactile-button-shadow);
6009
+ clip-path: none;
6010
+ font-family: var(--tactile-font-control);
6011
+ border-radius: .24rem;
6012
+ padding: .55rem .9rem;
6013
+ font-size: .84rem;
6014
+ font-weight: 600;
6015
+ }
6016
+
6017
+ [data-ui="tactile"][data-mode] :where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), textarea, select) {
6018
+ background-color: var(--tactile-paper);
6019
+ background-image: var(--tactile-field-bg);
6020
+ min-height: 2.75rem;
6021
+ color: var(--tactile-ink);
6022
+ border: 1px solid var(--tactile-keyline);
6023
+ box-shadow: var(--tactile-inset-shadow);
6024
+ font-family: var(--tactile-font-control);
6025
+ border-radius: .24rem;
6026
+ font-size: .84rem;
6027
+ font-weight: 500;
6028
+ }
6029
+
6030
+ [data-ui="tactile"][data-mode] :where(select) {
6031
+ appearance: none;
6032
+ background-image: var(--tactile-select-endcap);
6033
+ background-position: 0 0, calc(100% - 1.18rem) calc(50% - .36rem), calc(100% - .9rem) calc(50% - .36rem), calc(100% - 1.18rem) calc(50% + .34rem), calc(100% - .9rem) calc(50% + .34rem), 0 0;
6034
+ background-repeat: no-repeat;
6035
+ background-size: 100% 100%, .28rem .28rem, .28rem .28rem, .28rem .28rem, .28rem .28rem, 100% 100%;
6036
+ padding-inline-end: 2.75rem;
6037
+ }
6038
+
6039
+ [data-ui="tactile"][data-mode] :where(input[type="checkbox"], input[type="radio"]) {
6040
+ accent-color: var(--tactile-copper);
6041
+ }
6042
+
6043
+ [data-ui="tactile"][data-mode] :where(input[type="file"])::file-selector-button {
6044
+ background: var(--tactile-control-bg);
6045
+ color: var(--tactile-ink);
6046
+ border: 1px solid var(--tactile-keyline);
6047
+ box-shadow: var(--tactile-button-shadow);
6048
+ font-family: var(--tactile-font-control);
6049
+ border-radius: .2rem;
6050
+ font-weight: 600;
6051
+ }
6052
+
6053
+ .tactile-input:focus-visible, .tactile-textarea:focus-visible, .tactile-select:focus-visible, :where([data-ui="tactile"]) .ui-input:focus-visible, :where([data-ui="tactile"]) .ui-textarea:focus-visible, :where([data-ui="tactile"]) .ui-select:focus-visible {
6054
+ border-color: var(--tactile-focus);
6055
+ box-shadow: var(--tactile-inset-shadow),var(--tactile-focus-ring);
6056
+ outline: 2px solid var(--tactile-focus);
6057
+ outline-offset: 2px;
6058
+ }
6059
+
6060
+ .tactile-input[aria-invalid="true"], .tactile-textarea[aria-invalid="true"], .tactile-select[aria-invalid="true"], [data-ui="tactile"][data-mode] :where(input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"]), :where([data-ui="tactile"]) .ui-input[aria-invalid="true"], :where([data-ui="tactile"]) .ui-textarea[aria-invalid="true"], :where([data-ui="tactile"]) .ui-select[aria-invalid="true"] {
6061
+ border-color: var(--tactile-danger);
6062
+ box-shadow: var(--tactile-inset-shadow),0 0 0 2px rgb(var(--tactile-danger-rgb)/.24);
6063
+ }
6064
+
6065
+ .tactile-input[readonly], .tactile-textarea[readonly], [data-ui="tactile"][data-mode] :where(input[readonly]:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), textarea[readonly]), :where([data-ui="tactile"]) .ui-input[readonly], :where([data-ui="tactile"]) .ui-textarea[readonly] {
6066
+ filter: saturate(.72);
6067
+ opacity: .78;
6068
+ border-style: dashed;
6069
+ }
6070
+
6071
+ .tactile-workspace-shell {
6072
+ background: var(--tactile-card-bg);
6073
+ color: var(--tactile-ink);
6074
+ border: 1px solid var(--tactile-keyline);
6075
+ box-shadow: var(--tactile-panel-shadow);
6076
+ border-radius: .38rem;
6077
+ overflow: hidden;
6078
+ }
6079
+
6080
+ .tactile-workspace-shell, .tactile-workspace-shell *, .tactile-workspace-shell :before, .tactile-workspace-shell :after {
6081
+ box-sizing: border-box;
6082
+ }
6083
+
6084
+ .tactile-workspace-shell > .tactile-workspace-sidebar {
6085
+ background: var(--tactile-sidebar-bg);
6086
+ min-width: 0;
6087
+ color: var(--tactile-sidebar-fg);
6088
+ border: 0;
6089
+ border-inline-end: 1px solid rgb(var(--tactile-keyline-rgb)/.82);
6090
+ box-shadow: inset -1px 0 0 #00000057,inset 0 1px 0 rgb(var(--tactile-sidebar-text-rgb)/.08);
6091
+ border-radius: 0;
6092
+ flex-direction: column;
6093
+ padding: 1.35rem 1rem 1rem;
6094
+ display: flex;
6095
+ }
6096
+
6097
+ .tactile-workspace-brand {
6098
+ color: var(--tactile-sidebar-fg);
6099
+ align-items: center;
6100
+ gap: .7rem;
6101
+ text-decoration: none;
6102
+ display: grid;
6103
+ }
6104
+
6105
+ .tactile-workspace-brand-mark {
6106
+ background: linear-gradient(180deg,rgb(var(--tactile-copper-rgb)/.92),var(--tactile-copper));
6107
+ width: 2.3rem;
6108
+ height: 2.3rem;
6109
+ color: var(--tactile-paper-highlight);
6110
+ border: 1px solid rgb(var(--tactile-brass-rgb)/.72);
6111
+ font-family: var(--tactile-font-display);
6112
+ border-radius: .16rem;
6113
+ place-items: center;
6114
+ font-size: 1.25rem;
6115
+ font-weight: 700;
6116
+ display: grid;
6117
+ box-shadow: inset 0 1px #ffffff40, 0 1px 2px #0000006b;
6118
+ }
6119
+
6120
+ .tactile-workspace-brand :where(strong, small) {
6121
+ display: block;
6122
+ }
6123
+
6124
+ .tactile-workspace-brand strong {
6125
+ color: var(--tactile-sidebar-fg);
6126
+ font-family: var(--tactile-font-display);
6127
+ font-size: 1.18rem;
6128
+ line-height: 1.05;
6129
+ }
6130
+
6131
+ .tactile-workspace-brand small {
6132
+ color: var(--tactile-sidebar-muted);
6133
+ font-family: var(--tactile-font-control);
6134
+ letter-spacing: .12em;
6135
+ text-transform: uppercase;
6136
+ margin-top: .18rem;
6137
+ font-size: .64rem;
6138
+ font-weight: 700;
6139
+ }
6140
+
6141
+ .tactile-workspace-menu {
6142
+ gap: .3rem;
6143
+ margin-top: 2.4rem;
6144
+ display: grid;
6145
+ }
6146
+
6147
+ .tactile-workspace-link {
6148
+ min-height: 2.65rem;
6149
+ color: var(--tactile-sidebar-muted);
6150
+ font-family: var(--tactile-font-control);
6151
+ border: 1px solid #0000;
6152
+ border-radius: .14rem;
6153
+ align-items: center;
6154
+ gap: .68rem;
6155
+ padding: .62rem .7rem;
6156
+ font-size: .78rem;
6157
+ font-weight: 600;
6158
+ text-decoration: none;
6159
+ display: grid;
6160
+ }
6161
+
6162
+ .tactile-workspace-link small {
6163
+ color: inherit;
6164
+ letter-spacing: .08em;
6165
+ font-size: .6rem;
6166
+ }
6167
+
6168
+ .tactile-workspace-link:hover {
6169
+ color: var(--tactile-sidebar-fg);
6170
+ background: rgb(var(--tactile-sidebar-text-rgb)/.055);
6171
+ border-color: rgb(var(--tactile-sidebar-text-rgb)/.16);
6172
+ }
6173
+
6174
+ .tactile-workspace-link.is-active, .tactile-workspace-link[aria-current="page"] {
6175
+ color: var(--tactile-brass);
6176
+ background: rgb(var(--tactile-sidebar-text-rgb)/.06);
6177
+ border-color: rgb(var(--tactile-sidebar-text-rgb)/.14);
6178
+ box-shadow: inset .2rem 0 0 var(--tactile-copper),inset .08rem .08rem .2rem #0006;
6179
+ }
6180
+
6181
+ .tactile-workspace-icon {
6182
+ place-items: center;
6183
+ width: 1.05rem;
6184
+ height: 1.05rem;
6185
+ display: inline-grid;
6186
+ }
6187
+
6188
+ .tactile-workspace-icon svg {
6189
+ stroke-width: 1.7px;
6190
+ width: 100%;
6191
+ height: 100%;
6192
+ display: block;
6193
+ }
6194
+
6195
+ .tactile-workspace-sidebar-note {
6196
+ border: 1px solid rgb(var(--tactile-sidebar-text-rgb)/.13);
6197
+ background: #00000029;
6198
+ border-radius: .18rem;
6199
+ margin-top: auto;
6200
+ padding: .82rem;
6201
+ box-shadow: inset .08rem .1rem .18rem #00000057;
6202
+ }
6203
+
6204
+ .tactile-workspace-sidebar-note p {
6205
+ color: var(--tactile-sidebar-muted);
6206
+ margin: .52rem 0 0;
6207
+ font-size: .7rem;
6208
+ line-height: 1.4;
6209
+ }
6210
+
6211
+ .tactile-workspace-main {
6212
+ background: var(--tactile-card-bg);
6213
+ }
6214
+
6215
+ .tactile-workspace-header {
6216
+ border-bottom: 1px solid rgb(var(--tactile-keyline-rgb)/.55);
6217
+ box-shadow: 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.62);
6218
+ justify-content: space-between;
6219
+ align-items: start;
6220
+ gap: 1rem;
6221
+ padding: 1.5rem 1.6rem 1.3rem;
6222
+ display: flex;
6223
+ }
6224
+
6225
+ .tactile-workspace-header :where(p, h2) {
6226
+ margin: 0;
6227
+ }
6228
+
6229
+ .tactile-workspace-title {
6230
+ font-family: var(--tactile-font-display);
6231
+ letter-spacing: -.035em;
6232
+ margin-top: .26rem;
6233
+ font-size: clamp(2.15rem, 4vw, 2.8rem);
6234
+ font-weight: 700;
6235
+ line-height: 1.02;
6236
+ }
6237
+
6238
+ .tactile-workspace-header .tactile-copy {
6239
+ max-width: 40rem;
6240
+ margin-top: .55rem;
6241
+ font-size: .8rem;
6242
+ }
6243
+
6244
+ .tactile-workspace-body {
6245
+ align-items: start;
6246
+ gap: 1rem;
6247
+ padding: 1.25rem 1.6rem 1.5rem;
6248
+ display: grid;
6249
+ }
6250
+
6251
+ .tactile-workspace-settings {
6252
+ background: var(--tactile-card-bg);
6253
+ border: 1px solid var(--tactile-keyline);
6254
+ box-shadow: var(--tactile-panel-shadow);
6255
+ border-radius: .28rem;
6256
+ overflow: hidden;
6257
+ }
6258
+
6259
+ .tactile-workspace-row {
6260
+ border-bottom: 1px solid rgb(var(--tactile-keyline-rgb)/.46);
6261
+ box-shadow: inset 0 1px 0 rgb(var(--tactile-paper-highlight-rgb)/.46);
6262
+ gap: 1.25rem;
6263
+ padding: 1.15rem 1.2rem;
6264
+ display: grid;
6265
+ }
6266
+
6267
+ .tactile-workspace-row:last-child {
6268
+ border-bottom: 0;
6269
+ }
6270
+
6271
+ .tactile-workspace-row :where(h3, p) {
6272
+ margin: 0;
6273
+ }
6274
+
6275
+ .tactile-workspace-row h3 {
6276
+ font-family: var(--tactile-font-display);
6277
+ font-size: 1rem;
6278
+ line-height: 1.15;
6279
+ }
6280
+
6281
+ .tactile-workspace-row > div:first-child p {
6282
+ color: var(--tactile-muted-ink);
6283
+ margin-top: .3rem;
6284
+ font-size: .68rem;
6285
+ }
6286
+
6287
+ .tactile-workspace-fields, .tactile-workspace-switches {
6288
+ gap: .8rem;
6289
+ display: grid;
6290
+ }
6291
+
6292
+ .tactile-workspace-switches .tactile-switch, :where([data-ui="tactile"]) .tactile-workspace-switches .ui-switch {
6293
+ background: var(--tactile-inset-bg);
6294
+ border: 1px solid rgb(var(--tactile-keyline-rgb)/.52);
6295
+ width: 100%;
6296
+ box-shadow: var(--tactile-inset-shadow);
6297
+ border-radius: .2rem;
6298
+ justify-content: flex-start;
6299
+ padding: .7rem .74rem;
6300
+ }
6301
+
6302
+ .tactile-workspace-switches .tactile-switch > span:last-child, :where([data-ui="tactile"]) .tactile-workspace-switches .ui-switch>span:last-child {
6303
+ gap: .08rem;
6304
+ display: grid;
6305
+ }
6306
+
6307
+ .tactile-workspace-switches small, .tactile-workspace-security small {
6308
+ color: var(--tactile-muted-ink);
6309
+ font-size: .66rem;
6310
+ }
6311
+
6312
+ .tactile-workspace-security {
6313
+ justify-content: space-between;
6314
+ align-items: center;
6315
+ gap: .8rem;
6316
+ display: flex;
6317
+ }
6318
+
6319
+ .tactile-workspace-security > div {
6320
+ gap: .35rem;
6321
+ display: grid;
6322
+ }
6323
+
6324
+ .tactile-workspace-readiness {
6325
+ background: var(--tactile-card-bg);
6326
+ color: var(--tactile-ink);
6327
+ border: 1px solid var(--tactile-keyline);
6328
+ box-shadow: var(--tactile-panel-shadow);
6329
+ border-radius: .28rem;
6330
+ padding: 1rem;
6331
+ }
6332
+
6333
+ .tactile-workspace-gauge {
6334
+ aspect-ratio: 1;
6335
+ background: radial-gradient(circle,var(--tactile-paper-highlight)0 52%,transparent 52.5%),repeating-conic-gradient(from 218deg,var(--tactile-keyline)0 1deg,transparent 1deg 11deg),var(--tactile-paper-deep);
6336
+ border: .42rem solid var(--tactile-paper);
6337
+ width: min(100%, 11rem);
6338
+ box-shadow: inset 0 0 0 1px var(--tactile-keyline),inset .18rem .2rem .42rem rgb(var(--tactile-material-shadow-rgb)/.18),0 1px 2px rgb(var(--tactile-material-shadow-rgb)/.22);
6339
+ border-radius: 999px;
6340
+ place-items: center;
6341
+ margin: 1rem auto .55rem;
6342
+ display: grid;
6343
+ position: relative;
6344
+ overflow: hidden;
6345
+ }
6346
+
6347
+ .tactile-workspace-gauge:after {
6348
+ content: "";
6349
+ background: var(--tactile-copper);
6350
+ width: .16rem;
6351
+ height: 35%;
6352
+ box-shadow: 0 0 0 1px rgb(var(--tactile-material-shadow-rgb)/.26);
6353
+ transform-origin: 50% 100%;
6354
+ border-radius: .08rem;
6355
+ position: absolute;
6356
+ bottom: 48%;
6357
+ left: 50%;
6358
+ transform: translateX(-50%) rotate(44deg);
6359
+ }
6360
+
6361
+ .tactile-workspace-gauge > span {
6362
+ z-index: 1;
6363
+ background: var(--tactile-control-bg);
6364
+ border: 1px solid var(--tactile-keyline);
6365
+ width: 4.8rem;
6366
+ height: 4.8rem;
6367
+ box-shadow: var(--tactile-button-shadow);
6368
+ border-radius: 999px;
6369
+ place-items: center;
6370
+ display: grid;
6371
+ position: relative;
6372
+ }
6373
+
6374
+ .tactile-workspace-gauge :where(strong, small) {
6375
+ text-align: center;
6376
+ display: block;
6377
+ }
6378
+
6379
+ .tactile-workspace-gauge strong {
6380
+ font-family: var(--tactile-font-display);
6381
+ align-self: end;
6382
+ font-size: 1.65rem;
6383
+ line-height: 1;
6384
+ }
6385
+
6386
+ .tactile-workspace-gauge small {
6387
+ color: var(--tactile-muted-ink);
6388
+ font-family: var(--tactile-font-control);
6389
+ letter-spacing: .08em;
6390
+ text-transform: uppercase;
6391
+ align-self: start;
6392
+ font-size: .6rem;
6393
+ font-weight: 700;
6394
+ }
6395
+
6396
+ .tactile-workspace-gauge-key {
6397
+ color: var(--tactile-muted-ink);
6398
+ font-family: var(--tactile-font-control);
6399
+ letter-spacing: .06em;
6400
+ text-transform: uppercase;
6401
+ justify-content: space-between;
6402
+ font-size: .6rem;
6403
+ font-weight: 700;
6404
+ display: flex;
6405
+ }
6406
+
6407
+ .tactile-workspace-readiness .tactile-alert, :where([data-ui="tactile"]) .tactile-workspace-readiness .ui-alert {
6408
+ margin-top: 1rem;
6409
+ }
6410
+
6411
+ .tactile-workspace-shelf {
6412
+ z-index: 2;
6413
+ background: var(--tactile-control-bg);
6414
+ border-top: 1px solid var(--tactile-keyline);
6415
+ box-shadow: inset 0 1px 0 var(--tactile-bevel-highlight),0-.2rem .55rem rgb(var(--tactile-material-shadow-rgb)/.12);
6416
+ align-items: center;
6417
+ gap: 1.25rem;
6418
+ padding: .9rem 1.6rem;
6419
+ display: grid;
6420
+ position: sticky;
6421
+ bottom: 0;
6422
+ }
6423
+
6424
+ .tactile-workspace-progress {
6425
+ align-items: center;
6426
+ gap: .8rem;
6427
+ display: grid;
6428
+ }
6429
+
6430
+ .tactile-workspace-progress > span {
6431
+ gap: .08rem;
6432
+ display: grid;
6433
+ }
6434
+
6435
+ .tactile-workspace-progress small {
6436
+ color: var(--tactile-muted-ink);
6437
+ font-size: .65rem;
6438
+ }
6439
+
6440
+ .tactile-workspace-progress .tactile-progress, :where([data-ui="tactile"]) .tactile-workspace-progress .ui-progress {
6441
+ width: 100%;
6442
+ }
6443
+
6444
+ @media (max-width: 52rem) {
6445
+ .tactile-workspace-shell > .tactile-workspace-sidebar {
6446
+ border-inline-end: 0;
6447
+ border-bottom: 1px solid rgb(var(--tactile-keyline-rgb)/.82);
6448
+ }
6449
+
6450
+ .tactile-workspace-menu {
6451
+ margin-top: 1rem;
6452
+ overflow-x: auto;
6453
+ }
6454
+
6455
+ .tactile-workspace-sidebar-note {
6456
+ display: none;
6457
+ }
6458
+ }
6459
+
6460
+ @media (max-width: 38rem) {
6461
+ .tactile-workspace-header, .tactile-workspace-security {
6462
+ flex-direction: column;
6463
+ align-items: stretch;
6464
+ }
6465
+
6466
+ .tactile-workspace-header, .tactile-workspace-body, .tactile-workspace-shelf {
6467
+ padding-inline: 1rem;
6468
+ }
6469
+
6470
+ .tactile-workspace-row {
6471
+ gap: .8rem;
6472
+ }
6473
+ }
6474
+
6475
+ [data-ui="tactile"][data-mode] .tactile-button.tactile-button-warning, :where([data-ui="tactile"])[data-mode] .ui-button.ui-button:where([data-ui-variant="warning"]) {
6476
+ background: var(--tactile-warning);
6477
+ color: var(--tactile-on-warning);
6478
+ border-color: var(--tactile-warning);
6479
+ text-shadow: none;
6480
+ }
4673
6481
  }