ui-style-kit-css 2.7.1 → 2.7.2

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 (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +9 -9
  3. package/dist/ui-style-kit.css +22 -3
  4. package/dist/ui-style-kit.min.css +2 -2
  5. package/dist/ui-style-kit.visual.css +22 -3
  6. package/dist/ui-style-kit.visual.min.css +2 -2
  7. package/dist/ui-style-kit.with-bridge.css +22 -3
  8. package/dist/ui-style-kit.with-bridge.min.css +2 -2
  9. package/dist/visual/art-deco.css +20 -1
  10. package/dist/visual/bauhaus.css +2 -2
  11. package/dist/visual/bento.css +2 -2
  12. package/dist/visual/brutalism.css +20 -1
  13. package/dist/visual/clay.css +2 -2
  14. package/dist/visual/cyberpunk.css +20 -1
  15. package/dist/visual/data-terminal.css +20 -1
  16. package/dist/visual/editorial-luxe.css +20 -1
  17. package/dist/visual/industrial-utility.css +20 -1
  18. package/dist/visual/maximalist.css +20 -1
  19. package/dist/visual/minimal-saas.css +20 -1
  20. package/dist/visual/neo-noir.css +2 -2
  21. package/dist/visual/neumorphism.css +20 -1
  22. package/dist/visual/organic-modern.css +2 -2
  23. package/dist/visual/paper-editorial.css +20 -1
  24. package/dist/visual/retro-glass.css +21 -2
  25. package/dist/visual/retrofuturism.css +20 -1
  26. package/dist/visual/tactile.css +20 -1
  27. package/dist/visual/technical-blueprint.css +20 -1
  28. package/dist/visual/y2k.css +20 -1
  29. package/docs/ECOSYSTEM.md +2 -2
  30. package/docs/PUBLISHING.md +4 -0
  31. package/docs/RELEASE-2.7.2.md +55 -0
  32. package/docs/api/publish-select-patch.md +80 -0
  33. package/manifest.json +1 -1
  34. package/package.json +1 -1
  35. package/styles/native-elements.css +19 -0
  36. package/styles/neo-noir.css +2 -1
  37. package/styles/retro-glass.css +2 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.7.1
2
+ * UI Style Kit CSS v2.7.2
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -2860,6 +2860,25 @@
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
+ /** Native select affordances survive component background shorthands in the preset layer. */
2864
+ @layer ui-style-kit.presets {
2865
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
2866
+ [data-ui][data-mode] :where(select:not([multiple])) {
2867
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2868
+ background-image: var(--usk-native-select-indicator-image);
2869
+ background-repeat: no-repeat;
2870
+ background-position: var(--usk-native-select-indicator-position);
2871
+ background-size: var(--usk-native-select-indicator-size);
2872
+ }
2873
+ }
2874
+
2875
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
2876
+ @layer ui-style-kit.clean_defaults {
2877
+ [data-ui][data-mode] :where(select:not([multiple])) {
2878
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2879
+ }
2880
+ }
2881
+
2863
2882
 
2864
2883
  /* styles/components.css */
2865
2884
  /* =========================================================
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.7.1
2
+ * UI Style Kit CSS v2.7.2
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -2860,6 +2860,25 @@
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
+ /** Native select affordances survive component background shorthands in the preset layer. */
2864
+ @layer ui-style-kit.presets {
2865
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
2866
+ [data-ui][data-mode] :where(select:not([multiple])) {
2867
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2868
+ background-image: var(--usk-native-select-indicator-image);
2869
+ background-repeat: no-repeat;
2870
+ background-position: var(--usk-native-select-indicator-position);
2871
+ background-size: var(--usk-native-select-indicator-size);
2872
+ }
2873
+ }
2874
+
2875
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
2876
+ @layer ui-style-kit.clean_defaults {
2877
+ [data-ui][data-mode] :where(select:not([multiple])) {
2878
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2879
+ }
2880
+ }
2881
+
2863
2882
 
2864
2883
  /* styles/components.css */
2865
2884
  /* =========================================================
@@ -6045,7 +6064,7 @@
6045
6064
  padding: 8px 11px;
6046
6065
  }
6047
6066
 
6048
- .rg-select, :where([data-ui="retro-glass"]) .usk-select, :where([data-ui="retro-glass"]) .ui-select {
6067
+ .rg-select, [data-ui="retro-glass"][data-mode] :where(select:not([multiple])), :where([data-ui="retro-glass"]) .usk-select, :where([data-ui="retro-glass"]) .ui-select {
6049
6068
  background-image: var(--usk-native-select-indicator-image),linear-gradient(180deg,#0000001f,transparent 18%);
6050
6069
  background-size: var(--usk-native-select-indicator-size),auto;
6051
6070
  background-position: var(--usk-native-select-indicator-position),center;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.7.1
2
+ * UI Style Kit CSS v2.7.2
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -2860,6 +2860,25 @@
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
+ /** Native select affordances survive component background shorthands in the preset layer. */
2864
+ @layer ui-style-kit.presets {
2865
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
2866
+ [data-ui][data-mode] :where(select:not([multiple])) {
2867
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2868
+ background-image: var(--usk-native-select-indicator-image);
2869
+ background-repeat: no-repeat;
2870
+ background-position: var(--usk-native-select-indicator-position);
2871
+ background-size: var(--usk-native-select-indicator-size);
2872
+ }
2873
+ }
2874
+
2875
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
2876
+ @layer ui-style-kit.clean_defaults {
2877
+ [data-ui][data-mode] :where(select:not([multiple])) {
2878
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2879
+ }
2880
+ }
2881
+
2863
2882
 
2864
2883
  /* styles/components.css */
2865
2884
  /* =========================================================
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.7.1
2
+ * UI Style Kit CSS v2.7.2
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -2860,6 +2860,25 @@
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
+ /** Native select affordances survive component background shorthands in the preset layer. */
2864
+ @layer ui-style-kit.presets {
2865
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
2866
+ [data-ui][data-mode] :where(select:not([multiple])) {
2867
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2868
+ background-image: var(--usk-native-select-indicator-image);
2869
+ background-repeat: no-repeat;
2870
+ background-position: var(--usk-native-select-indicator-position);
2871
+ background-size: var(--usk-native-select-indicator-size);
2872
+ }
2873
+ }
2874
+
2875
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
2876
+ @layer ui-style-kit.clean_defaults {
2877
+ [data-ui][data-mode] :where(select:not([multiple])) {
2878
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2879
+ }
2880
+ }
2881
+
2863
2882
 
2864
2883
  /* styles/components.css */
2865
2884
  /* =========================================================
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.7.1
2
+ * UI Style Kit CSS v2.7.2
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -2860,6 +2860,25 @@
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
+ /** Native select affordances survive component background shorthands in the preset layer. */
2864
+ @layer ui-style-kit.presets {
2865
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
2866
+ [data-ui][data-mode] :where(select:not([multiple])) {
2867
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2868
+ background-image: var(--usk-native-select-indicator-image);
2869
+ background-repeat: no-repeat;
2870
+ background-position: var(--usk-native-select-indicator-position);
2871
+ background-size: var(--usk-native-select-indicator-size);
2872
+ }
2873
+ }
2874
+
2875
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
2876
+ @layer ui-style-kit.clean_defaults {
2877
+ [data-ui][data-mode] :where(select:not([multiple])) {
2878
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2879
+ }
2880
+ }
2881
+
2863
2882
 
2864
2883
  /* styles/components.css */
2865
2884
  /* =========================================================
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.7.1
2
+ * UI Style Kit CSS v2.7.2
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -2860,6 +2860,25 @@
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
+ /** Native select affordances survive component background shorthands in the preset layer. */
2864
+ @layer ui-style-kit.presets {
2865
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
2866
+ [data-ui][data-mode] :where(select:not([multiple])) {
2867
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2868
+ background-image: var(--usk-native-select-indicator-image);
2869
+ background-repeat: no-repeat;
2870
+ background-position: var(--usk-native-select-indicator-position);
2871
+ background-size: var(--usk-native-select-indicator-size);
2872
+ }
2873
+ }
2874
+
2875
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
2876
+ @layer ui-style-kit.clean_defaults {
2877
+ [data-ui][data-mode] :where(select:not([multiple])) {
2878
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
2879
+ }
2880
+ }
2881
+
2863
2882
 
2864
2883
  /* styles/components.css */
2865
2884
  /* =========================================================
package/docs/ECOSYSTEM.md CHANGED
@@ -14,11 +14,11 @@ Before a UI branch or pull request is expected to validate, verify the reviewed
14
14
 
15
15
  | Library | Current aligned version | Owns |
16
16
  |---|---:|---|
17
- | `ui-style-kit-css@2.7.1` | current UI version | visual identity, color themes, UI paint, native HTML styling, content wrapping, and bridge tokens |
17
+ | `ui-style-kit-css@2.7.2` | current UI version | visual identity, color themes, UI paint, native HTML styling, content wrapping, and bridge tokens |
18
18
  | `interactive-surface-css@1.7.3` | compatible state release | interaction-state primitives, surface behavior, state layers, and input affordances |
19
19
  | `layout-style-css@3.2.3` | compatible structural release | structural wrappers, grids, sections, app shells, and layout recipes |
20
20
 
21
- The current combination is `ui-style-kit-css@2.7.1`, `interactive-surface-css@1.7.3`, and `layout-style-css@3.2.3`. UI Style Kit `2.7.1` is the current UI version. The companion versions are reviewed releases. Layout Style `3.2.3` is the compatible structural release. The validated minimum remains `ui-style-kit-css@2.1.0`, `interactive-surface-css@1.5.0`, and `layout-style-css@3.0.0`.
21
+ The current combination is `ui-style-kit-css@2.7.2`, `interactive-surface-css@1.7.3`, and `layout-style-css@3.2.3`. UI Style Kit `2.7.2` is the current UI version. The companion versions are reviewed releases. Layout Style `3.2.3` is the compatible structural release. The validated minimum remains `ui-style-kit-css@2.1.0`, `interactive-surface-css@1.5.0`, and `layout-style-css@3.0.0`.
22
22
 
23
23
  ## Layout-to-visual pairing matrix
24
24
 
@@ -1,5 +1,9 @@
1
1
  # Publishing Guide
2
2
 
3
+ ## 2.7.2 focused patch route
4
+
5
+ The owner authorized selected affected checks and prohibited CI/full suites for this repair. Follow [the 2.7.2 publication boundary](RELEASE-2.7.2.md) and the reviewed manual publish-select-patch.yml workflow. It requires signed exact source, the merged exact-head STE-Adam review, generated-asset reproduction, package admission and anonymous byte readback. It uses the existing npm publisher credential; no new secret or application deployment is included. Do not dispatch either legacy publisher for this patch. The 2.7.1 procedure below is historical and does not describe current 2.7.2 evidence.
6
+
3
7
  ## 2.7.1 release workflow
4
8
 
5
9
  This guide prepares version `2.7.1`. [Release preparation notes](RELEASE-2.7.1.md)
@@ -0,0 +1,55 @@
1
+ # v2.7.2 native select affordance patch
2
+
3
+ This compatible patch restores dropdown cues while retaining the 20 presets,
4
+ 25 themes, public entrypoints, native popups and semantic namespaces.
5
+
6
+ ## Corrections
7
+
8
+ Preset-layer semantic field background shorthands reset the native indicator's
9
+ image, size, position and repetition. The shared fallback restores the existing
10
+ public tokens above generic component paint. The reserved text gutter survives
11
+ compact preset padding. Retro Glass keeps its indicator above its recessed
12
+ material; Neo Noir keeps its browser-owned arrow without duplicate custom paint.
13
+ Tactile hardware arrows and Clay texture layers remain preset-owned.
14
+
15
+ ## Focused evidence
16
+
17
+ Two individually selected Chromium cases passed. The first visits all 20 presets
18
+ in light, dark and contrast modes with native, canonical `.usk-select`, compatibility
19
+ `.ui-select` and prefixed controls. The second checks keyboard selection, disabled
20
+ and multiple-select semantics, and settled LTR/RTL positioning under reduced
21
+ motion. The selected original single/multiple source contract and new publication
22
+ authority case also passed. The three changed stylesheets pass focused lint.
23
+ Named-theme, Firefox, WebKit and whole-suite results are not claimed here.
24
+
25
+ The first shared fix exposed Y2K gutter reset and Retro Glass material precedence.
26
+ Generated alias tracing identified Neo Noir's reduced root specificity. Test-only
27
+ corrections distinguish repeating Clay texture from indicators, preserve Tactile's
28
+ hardware end cap, and await computed CSS settlement in a standards-mode fixture.
29
+
30
+ Gnomie visually inspected the candidate CSS on the retained actual installed SYS
31
+ catalog DOM at desktop and phone widths. Both catalog page-size and language
32
+ controls had bounded arrows without overflow. This diagnostic preview is separate
33
+ from published-package consumer qualification and hosted acceptance.
34
+
35
+ ## Publication boundary
36
+
37
+ The owner authorized selected affected checks and prohibited CI/full suites for
38
+ this repair. The manual `publish-select-patch.yml` route is restricted to 2.7.2.
39
+ It requires a verified exact source commit, merged PR and STE-Adam's latest
40
+ approval of that head independently of the author. A trusted main controller is
41
+ retained before candidate checkout. It reproduces tracked generated assets, checks
42
+ package contents, packs without lifecycle hooks, uses the existing npm package-owner
43
+ credential and compares anonymous public npm bytes to its SHA-256/SHA-512 receipt.
44
+ The matching GitHub release includes that tarball and receipt. The built-in
45
+ repository token creates its tag/release without starting legacy CI publishers.
46
+ No tests, CI script, new secret, paid resource or application deployment is included.
47
+
48
+ Default historical publishers and package hooks remain unchanged. This route does
49
+ not assert their suites ran. This CSS repository has no configured jsdoc2md
50
+ generator. The new publisher has a [granular jsdoc2md reference](api/publish-select-patch.md), generated using the existing SYS workspace tool. Professional JSDoc-compatible comments, maintained documentation and
51
+ the normal build preserve the source/generated boundary. Tracked wiki changes do
52
+ not publish the hosted Wiki. SYS must qualify the actual published stable package
53
+ and its integrity before production.
54
+
55
+ Interactive Surface CSS 1.7.3 and Layout Style CSS 3.2.3 remain aligned companions.
@@ -0,0 +1,80 @@
1
+ <!-- Generated with jsdoc2md from scripts/publish-select-patch.mjs; do not edit by hand. -->
2
+
3
+ ## Functions
4
+
5
+ <dl>
6
+ <dt><a href="#admitFocusedPatch">admitFocusedPatch(evidence)</a> ⇒ <code>string</code></dt>
7
+ <dd><p>Admit only this patch&#39;s verified source and the latest exact-source STE-Adam review.</p>
8
+ </dd>
9
+ <dt><a href="#run">run(program, args)</a> ⇒ <code>string</code></dt>
10
+ <dd><p>Execute a fixed program with argument-array boundaries and no credential output on failure.</p>
11
+ </dd>
12
+ <dt><a href="#api">api(endpoint)</a> ⇒ <code>object</code></dt>
13
+ <dd><p>Read one bounded JSON result from the authenticated repository API.</p>
14
+ </dd>
15
+ <dt><a href="#receipt">receipt()</a> ⇒ <code>object</code></dt>
16
+ <dd><p>Read the immutable checksum receipt produced before publication.</p>
17
+ </dd>
18
+ <dt><a href="#main">main(mode)</a> ⇒ <code>Promise.&lt;void&gt;</code></dt>
19
+ <dd><p>Publish-support commands perform admission, artifact hashing and public byte readback only.
20
+ The workflow owns the explicit npm publication; no tests or lifecycle hooks are dispatched here.</p>
21
+ </dd>
22
+ </dl>
23
+
24
+ <a name="admitFocusedPatch"></a>
25
+
26
+ ## admitFocusedPatch(evidence) ⇒ <code>string</code>
27
+ Admit only this patch's verified source and the latest exact-source STE-Adam review.
28
+
29
+ **Kind**: global function
30
+ **Returns**: <code>string</code> - Exact admitted source commit.
31
+
32
+ | Param | Type | Description |
33
+ | --- | --- | --- |
34
+ | evidence | <code>object</code> | Authoritative GitHub and checked-out package evidence. |
35
+
36
+ <a name="run"></a>
37
+
38
+ ## run(program, args) ⇒ <code>string</code>
39
+ Execute a fixed program with argument-array boundaries and no credential output on failure.
40
+
41
+ **Kind**: global function
42
+ **Returns**: <code>string</code> - Successful standard output.
43
+
44
+ | Param | Type | Description |
45
+ | --- | --- | --- |
46
+ | program | <code>string</code> | Fixed executable. |
47
+ | args | <code>Array.&lt;string&gt;</code> | Literal arguments. |
48
+
49
+ <a name="api"></a>
50
+
51
+ ## api(endpoint) ⇒ <code>object</code>
52
+ Read one bounded JSON result from the authenticated repository API.
53
+
54
+ **Kind**: global function
55
+ **Returns**: <code>object</code> - Parsed API result.
56
+
57
+ | Param | Type | Description |
58
+ | --- | --- | --- |
59
+ | endpoint | <code>string</code> | Fixed repository endpoint with validated scope. |
60
+
61
+ <a name="receipt"></a>
62
+
63
+ ## receipt() ⇒ <code>object</code>
64
+ Read the immutable checksum receipt produced before publication.
65
+
66
+ **Kind**: global function
67
+ **Returns**: <code>object</code> - Exact artifact identity.
68
+ <a name="main"></a>
69
+
70
+ ## main(mode) ⇒ <code>Promise.&lt;void&gt;</code>
71
+ Publish-support commands perform admission, artifact hashing and public byte readback only.
72
+ The workflow owns the explicit npm publication; no tests or lifecycle hooks are dispatched here.
73
+
74
+ **Kind**: global function
75
+ **Returns**: <code>Promise.&lt;void&gt;</code> - Completion after the selected phase verifies its boundary.
76
+
77
+ | Param | Type | Description |
78
+ | --- | --- | --- |
79
+ | mode | <code>string</code> | Fixed workflow phase. |
80
+
package/manifest.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "breakingChange": "increment-schemaVersion-before-removing-or-renaming-fields"
6
6
  },
7
7
  "name": "ui-style-kit-css",
8
- "version": "2.7.1",
8
+ "version": "2.7.2",
9
9
  "cascadeLayers": [
10
10
  "ui-style-kit.theme_colors",
11
11
  "ui-style-kit.native_elements",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ui-style-kit-css",
3
- "version": "2.7.1",
3
+ "version": "2.7.2",
4
4
  "description": "CSS theme and UI style preset library for accessible websites, dashboards, admin interfaces, and client-facing pages.",
5
5
  "style": "dist/ui-style-kit.css",
6
6
  "main": "dist/ui-style-kit.css",
@@ -856,3 +856,22 @@
856
856
  }
857
857
  }
858
858
  }
859
+
860
+ /** Native select affordances survive component background shorthands in the preset layer. */
861
+ @layer ui-style-kit.presets {
862
+ /** Keep functional chrome above native defaults while leaving component surface colors intact. */
863
+ [data-ui][data-mode] :where(select:not([multiple])) {
864
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
865
+ background-image: var(--usk-native-select-indicator-image);
866
+ background-repeat: no-repeat;
867
+ background-position: var(--usk-native-select-indicator-position);
868
+ background-size: var(--usk-native-select-indicator-size);
869
+ }
870
+ }
871
+
872
+ /** Preset density may tune other edges, but text must retain the native indicator gutter. */
873
+ @layer ui-style-kit.clean_defaults {
874
+ [data-ui][data-mode] :where(select:not([multiple])) {
875
+ padding-inline-end: var(--usk-native-select-padding-inline-end);
876
+ }
877
+ }
@@ -1092,7 +1092,8 @@
1092
1092
  color: var(--noir-text); background: var(--noir-control-bg); border: 1px solid var(--noir-border);
1093
1093
  border-radius: 0; clip-path: none; box-shadow: none; font: 11px/1.4 var(--noir-font-mono);
1094
1094
  }
1095
- .noir-select { appearance: auto; background-image: none; padding-right: .5rem; }
1095
+ /** Preserve the preset's browser-owned arrow when shared semantic fallback chrome is present. */
1096
+ .noir-select, [data-ui="neo-noir"][data-mode] .noir-select { appearance: auto; background-image: none; padding-right: .5rem; }
1096
1097
  .noir-input:focus, .noir-textarea:focus, .noir-select:focus, .noir-field-row[data-noir-state="focus"] :is(input,textarea) { border-color: var(--noir-focus); box-shadow: none; outline: 2px solid var(--noir-focus); outline-offset: 1px; }
1097
1098
  .noir-input[aria-invalid="true"], .noir-textarea[aria-invalid="true"] { border-color: var(--noir-danger); color: var(--noir-danger); box-shadow: none; }
1098
1099
  .noir-field-row[data-noir-state="success"] input { border-color: var(--noir-success); color: var(--noir-success); }
@@ -1010,7 +1010,8 @@
1010
1010
  .rg-button:disabled, .rg-icon-button:disabled, .rg-button.is-disabled { opacity: .4; filter: saturate(.45); cursor: not-allowed; box-shadow: none; }
1011
1011
  .rg-field { display: block; min-inline-size: 0; }
1012
1012
  .rg-input, .rg-select, .rg-textarea { inline-size: 100%; min-block-size: var(--rg-control-height); padding: 8px 11px; background: var(--rg-glass-inset); color: var(--rg-text); border: 1px solid var(--rg-line-strong); border-radius: var(--rg-radius-sm); box-shadow: inset 0 1px 3px var(--rg-recess), 0 1px 0 var(--rg-highlight); font: 14px/1.3 var(--rg-font-body); }
1013
- .rg-select { padding-inline-end: 32px; background-image: var(--usk-native-select-indicator-image), linear-gradient(180deg, rgb(0 0 0 / .12), transparent 18%); background-size: var(--usk-native-select-indicator-size), auto; background-position: var(--usk-native-select-indicator-position), center; background-repeat: no-repeat; }
1013
+ /** Native and semantic selects retain the same indicator above the recessed glass material. */
1014
+ .rg-select, [data-ui="retro-glass"][data-mode] :where(select:not([multiple])) { padding-inline-end: 32px; background-image: var(--usk-native-select-indicator-image), linear-gradient(180deg, rgb(0 0 0 / .12), transparent 18%); background-size: var(--usk-native-select-indicator-size), auto; background-position: var(--usk-native-select-indicator-position), center; background-repeat: no-repeat; }
1014
1015
  .rg-textarea { min-block-size: 64px; resize: vertical; }
1015
1016
  .rg-input::placeholder, .rg-textarea::placeholder { color: var(--rg-muted); opacity: 1; }
1016
1017
  .rg-input-wrap { display: flex; align-items: center; position: relative; }