ui-style-kit-css 2.1.0 → 2.2.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * UI Style Kit CSS v2.1.0
2
+ * UI Style Kit CSS v2.2.0
3
3
  * CSS theme and UI style preset library.
4
4
  * License: MIT
5
5
  */
@@ -846,6 +846,22 @@
846
846
  --usk-native-shadow: none;
847
847
  --usk-native-shadow-md: var(--usk-native-shadow);
848
848
  --usk-native-focus-ring: 0 0 0 3px rgb(var(--usk-focus-rgb) / .28);
849
+ --usk-motion-duration: 140ms;
850
+ --usk-motion-easing: cubic-bezier(0.2, 0, 0.2, 1);
851
+
852
+ /* Shared semantic values are fully typed so optional companion and third-party consumers can use them directly. */
853
+ --ui-color-bg: rgb(var(--usk-bg-rgb));
854
+ --ui-color-surface: var(--usk-native-surface-strong);
855
+ --ui-color-text: var(--usk-native-text);
856
+ --ui-color-muted: var(--usk-native-text-muted);
857
+ --ui-color-primary: var(--usk-native-primary);
858
+ --ui-color-on-primary: var(--usk-native-on-primary);
859
+ --ui-color-border: var(--usk-native-border);
860
+ --ui-radius-control: var(--usk-native-radius);
861
+ --ui-shadow-control: var(--usk-native-shadow);
862
+ --ui-focus-color: var(--usk-native-focus);
863
+ --ui-motion-duration: var(--usk-motion-duration);
864
+ --ui-motion-easing: var(--usk-motion-easing);
849
865
  }
850
866
 
851
867
  [data-ui][data-theme][data-mode] :where(h1, h2, h3, h4, h5, h6) {
@@ -1536,7 +1552,7 @@
1536
1552
  [class~="rg-alert"],
1537
1553
  [class~="rg-table-wrap"],
1538
1554
  [class~="rg-nav"]
1539
- ) {
1555
+ ), [data-ui]:where([data-ui="retro-glass"])[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) {
1540
1556
  max-inline-size: 100%;
1541
1557
  min-inline-size: 0;
1542
1558
  overflow-wrap: anywhere;
@@ -1587,7 +1603,7 @@
1587
1603
  [class~="rg-icon-button"],
1588
1604
  [class~="rg-badge"],
1589
1605
  [class~="rg-nav-link"]
1590
- ) {
1606
+ ), [data-ui]:where([data-ui="retro-glass"])[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) {
1591
1607
  max-inline-size: 100%;
1592
1608
  min-inline-size: 0;
1593
1609
  white-space: normal;
@@ -1627,7 +1643,7 @@
1627
1643
  .rg-button,
1628
1644
  .rg-icon-button,
1629
1645
  .rg-button-pill
1630
- ) {
1646
+ ), [data-ui]:where([data-ui="retro-glass"])[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) {
1631
1647
  box-sizing: border-box;
1632
1648
  display: inline-flex;
1633
1649
  align-items: center;
@@ -1951,13 +1967,13 @@
1951
1967
  .saas-divider, .bento-divider, .max-divider, .bau-divider, .tactile-divider, .neo-divider, .retro-divider, .brutal-divider, .cyber-divider, .y2k-divider, .rg-divider { inline-size: 100%; block-size: 1px; border: 0; background: var(--usk-native-border); }
1952
1968
  .saas-disabled, .bento-disabled, .max-disabled, .bau-disabled, .tactile-disabled, .neo-disabled, .retro-disabled, .brutal-disabled, .cyber-disabled, .y2k-disabled, .rg-disabled { opacity: .55; cursor: not-allowed; pointer-events: none; }
1953
1969
 
1954
- .saas-button-ghost, .bento-button-ghost, .max-button-ghost, .bau-button-ghost, .tactile-button-ghost, .neo-button-ghost, .retro-button-ghost, .brutal-button-ghost, .cyber-button-ghost, .y2k-button-ghost, .rg-button-ghost {
1970
+ .saas-button-ghost, .bento-button-ghost, .max-button-ghost, .bau-button-ghost, .tactile-button-ghost, .neo-button-ghost, .retro-button-ghost, .brutal-button-ghost, .cyber-button-ghost, .y2k-button-ghost, .rg-button-ghost, :where([data-ui="retro-glass"]) .ui-button:where([data-ui-variant="ghost"]) {
1955
1971
  color: var(--usk-native-primary);
1956
1972
  background: transparent;
1957
1973
  border-color: var(--usk-native-border);
1958
1974
  }
1959
1975
 
1960
- .saas-check, .saas-radio, .saas-switch, .bento-check, .bento-radio, .bento-switch, .max-check, .max-radio, .max-switch, .bau-check, .bau-radio, .bau-switch, .tactile-check, .tactile-radio, .tactile-switch, .neo-check, .neo-radio, .neo-switch, .retro-check, .retro-radio, .retro-switch, .brutal-check, .brutal-radio, .brutal-switch, .cyber-check, .cyber-radio, .cyber-switch, .y2k-check, .y2k-radio, .y2k-switch, .rg-check, .rg-radio, .rg-switch {
1976
+ .saas-check, .saas-radio, .saas-switch, .bento-check, .bento-radio, .bento-switch, .max-check, .max-radio, .max-switch, .bau-check, .bau-radio, .bau-switch, .tactile-check, .tactile-radio, .tactile-switch, .neo-check, .neo-radio, .neo-switch, .retro-check, .retro-radio, .retro-switch, .brutal-check, .brutal-radio, .brutal-switch, .cyber-check, .cyber-radio, .cyber-switch, .y2k-check, .y2k-radio, .y2k-switch, .rg-check, .rg-radio, .rg-switch, :where([data-ui="retro-glass"]) .ui-check, :where([data-ui="retro-glass"]) .ui-radio, :where([data-ui="retro-glass"]) .ui-switch {
1961
1977
  display: inline-flex;
1962
1978
  align-items: center;
1963
1979
  gap: var(--usk-native-field-gap);
@@ -1965,13 +1981,13 @@
1965
1981
  color: var(--usk-native-text);
1966
1982
  }
1967
1983
 
1968
- .saas-check-control, .saas-radio-control, .bento-check-control, .bento-radio-control, .max-check-control, .max-radio-control, .bau-check-control, .bau-radio-control, .tactile-check-control, .tactile-radio-control, .neo-check-control, .neo-radio-control, .retro-check-control, .retro-radio-control, .brutal-check-control, .brutal-radio-control, .cyber-check-control, .cyber-radio-control, .y2k-check-control, .y2k-radio-control, .rg-check-control, .rg-radio-control {
1984
+ .saas-check-control, .saas-radio-control, .bento-check-control, .bento-radio-control, .max-check-control, .max-radio-control, .bau-check-control, .bau-radio-control, .tactile-check-control, .tactile-radio-control, .neo-check-control, .neo-radio-control, .retro-check-control, .retro-radio-control, .brutal-check-control, .brutal-radio-control, .cyber-check-control, .cyber-radio-control, .y2k-check-control, .y2k-radio-control, .rg-check-control, .rg-radio-control, :where([data-ui="retro-glass"]) .ui-check-control, :where([data-ui="retro-glass"]) .ui-radio-control {
1969
1985
  inline-size: 1.5rem;
1970
1986
  block-size: 1.5rem;
1971
1987
  accent-color: var(--usk-native-primary);
1972
1988
  }
1973
1989
 
1974
- .saas-switch-track, .bento-switch-track, .max-switch-track, .bau-switch-track, .tactile-switch-track, .neo-switch-track, .retro-switch-track, .brutal-switch-track, .cyber-switch-track, .y2k-switch-track, .rg-switch-track {
1990
+ .saas-switch-track, .bento-switch-track, .max-switch-track, .bau-switch-track, .tactile-switch-track, .neo-switch-track, .retro-switch-track, .brutal-switch-track, .cyber-switch-track, .y2k-switch-track, .rg-switch-track, :where([data-ui="retro-glass"]) .ui-switch-track {
1975
1991
  position: relative;
1976
1992
  display: inline-flex;
1977
1993
  align-items: center;
@@ -1983,7 +1999,7 @@
1983
1999
  border-radius: 999px;
1984
2000
  }
1985
2001
 
1986
- .saas-switch-thumb, .bento-switch-thumb, .max-switch-thumb, .bau-switch-thumb, .tactile-switch-thumb, .neo-switch-thumb, .retro-switch-thumb, .brutal-switch-thumb, .cyber-switch-thumb, .y2k-switch-thumb, .rg-switch-thumb {
2002
+ .saas-switch-thumb, .bento-switch-thumb, .max-switch-thumb, .bau-switch-thumb, .tactile-switch-thumb, .neo-switch-thumb, .retro-switch-thumb, .brutal-switch-thumb, .cyber-switch-thumb, .y2k-switch-thumb, .rg-switch-thumb, :where([data-ui="retro-glass"]) .ui-switch-thumb {
1987
2003
  inline-size: 1rem;
1988
2004
  block-size: 1rem;
1989
2005
  background: var(--usk-native-thumb);
@@ -2002,7 +2018,7 @@
2002
2018
  .brutal-switch:has(input:checked) .brutal-switch-track,
2003
2019
  .cyber-switch:has(input:checked) .cyber-switch-track,
2004
2020
  .y2k-switch:has(input:checked) .y2k-switch-track,
2005
- .rg-switch:has(input:checked) .rg-switch-track {
2021
+ .rg-switch:has(input:checked) .rg-switch-track, :where([data-ui="retro-glass"]) .ui-switch:has(input:checked) .ui-switch-track {
2006
2022
  background: var(--usk-native-track-fill);
2007
2023
  }
2008
2024
 
@@ -2016,7 +2032,7 @@
2016
2032
  .brutal-switch:has(input:checked) .brutal-switch-thumb,
2017
2033
  .cyber-switch:has(input:checked) .cyber-switch-thumb,
2018
2034
  .y2k-switch:has(input:checked) .y2k-switch-thumb,
2019
- .rg-switch:has(input:checked) .rg-switch-thumb {
2035
+ .rg-switch:has(input:checked) .rg-switch-thumb, :where([data-ui="retro-glass"]) .ui-switch:has(input:checked) .ui-switch-thumb {
2020
2036
  transform: translateX(1.25rem);
2021
2037
  }
2022
2038
 
@@ -2233,7 +2249,7 @@
2233
2249
  color: var(--rg-on-primary);
2234
2250
  }
2235
2251
 
2236
- .rg-title, .rg-heading, .rg-kicker, .rg-button, .rg-badge, .rg-nav-link {
2252
+ .rg-title, .rg-heading, .rg-kicker, .rg-button, .rg-badge, .rg-nav-link, :where([data-ui="retro-glass"]) .ui-button, :where([data-ui="retro-glass"]) .ui-badge, :where([data-ui="retro-glass"]) .ui-nav-link {
2237
2253
  font-family: var(--rg-font-heading);
2238
2254
  text-transform: uppercase;
2239
2255
  }
@@ -2270,7 +2286,7 @@
2270
2286
  color: var(--rg-text-muted);
2271
2287
  }
2272
2288
 
2273
- .rg-card, .rg-panel, .rg-console, .rg-toolbar, .rg-table-wrap {
2289
+ .rg-card, .rg-panel, .rg-console, .rg-toolbar, .rg-table-wrap, :where([data-ui="retro-glass"]) .ui-card, :where([data-ui="retro-glass"]) .ui-toolbar, :where([data-ui="retro-glass"]) .ui-table-wrap {
2274
2290
  background: linear-gradient(135deg,#ffffff2e,#ffffff0a),linear-gradient(135deg,rgb(var(--rg-primary-rgb)/.06),transparent 52%),var(--rg-surface);
2275
2291
  color: var(--rg-text);
2276
2292
  border: 1px solid var(--rg-border);
@@ -2284,7 +2300,7 @@
2284
2300
  overflow: hidden;
2285
2301
  }
2286
2302
 
2287
- .rg-card:before, .rg-panel:before, .rg-console:before {
2303
+ .rg-card:before, .rg-panel:before, .rg-console:before, :where([data-ui="retro-glass"]) .ui-card:before {
2288
2304
  content: "";
2289
2305
  pointer-events: none;
2290
2306
  background: linear-gradient(180deg,#ffffff1a,transparent 30%),linear-gradient(90deg,transparent,rgb(var(--rg-accent-rgb)/.08),transparent);
@@ -2292,7 +2308,7 @@
2292
2308
  inset: 0;
2293
2309
  }
2294
2310
 
2295
- .rg-card, .rg-panel, .rg-console {
2311
+ .rg-card, .rg-panel, .rg-console, :where([data-ui="retro-glass"]) .ui-card {
2296
2312
  padding: var(--rg-space-6);
2297
2313
  }
2298
2314
 
@@ -2301,7 +2317,7 @@
2301
2317
  box-shadow: var(--rg-shadow-lg),inset 0 0 28px rgb(var(--rg-primary-rgb)/.08),0 0 32px var(--rg-glow-primary);
2302
2318
  }
2303
2319
 
2304
- .rg-toolbar {
2320
+ .rg-toolbar, :where([data-ui="retro-glass"]) .ui-toolbar {
2305
2321
  justify-content: space-between;
2306
2322
  align-items: center;
2307
2323
  gap: var(--rg-space-4);
@@ -2328,7 +2344,7 @@
2328
2344
  padding: var(--rg-space-5);
2329
2345
  }
2330
2346
 
2331
- .rg-button, .rg-icon-button {
2347
+ .rg-button, .rg-icon-button, :where([data-ui="retro-glass"]) .ui-button, :where([data-ui="retro-glass"]) .ui-icon-button {
2332
2348
  appearance: none;
2333
2349
  justify-content: center;
2334
2350
  align-items: center;
@@ -2352,54 +2368,54 @@
2352
2368
  display: inline-flex;
2353
2369
  }
2354
2370
 
2355
- .rg-button:hover, .rg-icon-button:hover {
2371
+ .rg-button:hover, .rg-icon-button:hover, :where([data-ui="retro-glass"]) .ui-button:hover, :where([data-ui="retro-glass"]) .ui-icon-button:hover {
2356
2372
  border-color: rgb(var(--rg-primary-rgb)/.68);
2357
2373
  box-shadow: var(--rg-shadow-md),0 0 24px var(--rg-glow-primary);
2358
2374
  transform: translateY(-2px);
2359
2375
  }
2360
2376
 
2361
- .rg-button:active, .rg-icon-button:active, .rg-button.is-active, .rg-button[aria-pressed="true"] {
2377
+ .rg-button:active, .rg-icon-button:active, .rg-button.is-active, .rg-button[aria-pressed="true"], :where([data-ui="retro-glass"]) .ui-button:active, :where([data-ui="retro-glass"]) .ui-icon-button:active, :where([data-ui="retro-glass"]) .ui-button.is-active, :where([data-ui="retro-glass"]) .ui-button[aria-pressed="true"] {
2362
2378
  box-shadow: inset 0 8px 18px #0000002e,0 0 18px var(--rg-glow-primary);
2363
2379
  transform: translateY(1px);
2364
2380
  }
2365
2381
 
2366
- .rg-button-primary {
2382
+ .rg-button-primary, :where([data-ui="retro-glass"]) .ui-button:where([data-ui-variant="primary"]) {
2367
2383
  background: linear-gradient(135deg,#ffffff38,#ffffff0a),var(--rg-primary);
2368
2384
  color: var(--rg-on-primary);
2369
2385
  border-color: rgb(var(--rg-primary-rgb)/.72);
2370
2386
  }
2371
2387
 
2372
- .rg-button-primary:hover {
2388
+ .rg-button-primary:hover, :where([data-ui="retro-glass"]) .ui-button:where([data-ui-variant="primary"]):hover {
2373
2389
  background: var(--rg-primary-hover);
2374
2390
  }
2375
2391
 
2376
- .rg-button-secondary {
2392
+ .rg-button-secondary, :where([data-ui="retro-glass"]) .ui-button:where([data-ui-variant="secondary"]) {
2377
2393
  background: linear-gradient(135deg,#ffffff38,#ffffff0a),var(--rg-secondary);
2378
2394
  color: var(--rg-on-secondary);
2379
2395
  border-color: rgb(var(--rg-secondary-rgb)/.72);
2380
2396
  }
2381
2397
 
2382
- .rg-button-secondary:hover {
2398
+ .rg-button-secondary:hover, :where([data-ui="retro-glass"]) .ui-button:where([data-ui-variant="secondary"]):hover {
2383
2399
  background: var(--rg-secondary-hover);
2384
2400
  }
2385
2401
 
2386
- .rg-button-danger {
2402
+ .rg-button-danger, :where([data-ui="retro-glass"]) .ui-button:where([data-ui-variant="danger"]) {
2387
2403
  background: var(--rg-danger);
2388
2404
  color: var(--rg-on-danger);
2389
2405
  }
2390
2406
 
2391
- .rg-icon-button {
2407
+ .rg-icon-button, :where([data-ui="retro-glass"]) .ui-icon-button {
2392
2408
  width: 2.85rem;
2393
2409
  padding: 0;
2394
2410
  }
2395
2411
 
2396
- .rg-field {
2412
+ .rg-field, :where([data-ui="retro-glass"]) .ui-field {
2397
2413
  gap: var(--rg-space-2);
2398
2414
  flex-direction: column;
2399
2415
  display: flex;
2400
2416
  }
2401
2417
 
2402
- .rg-label {
2418
+ .rg-label, :where([data-ui="retro-glass"]) .ui-label {
2403
2419
  font-family: var(--rg-font-heading);
2404
2420
  text-transform: uppercase;
2405
2421
  letter-spacing: .12em;
@@ -2407,7 +2423,7 @@
2407
2423
  font-weight: 900;
2408
2424
  }
2409
2425
 
2410
- .rg-input, .rg-textarea, .rg-select {
2426
+ .rg-input, .rg-textarea, .rg-select, :where([data-ui="retro-glass"]) .ui-input, :where([data-ui="retro-glass"]) .ui-textarea, :where([data-ui="retro-glass"]) .ui-select {
2411
2427
  background: linear-gradient(180deg,#ffffff0f,#00000014),var(--rg-surface-soft);
2412
2428
  width: 100%;
2413
2429
  min-height: 2.9rem;
@@ -2421,22 +2437,22 @@
2421
2437
  box-shadow: inset 0 8px 18px #00000024;
2422
2438
  }
2423
2439
 
2424
- .rg-textarea {
2440
+ .rg-textarea, :where([data-ui="retro-glass"]) .ui-textarea {
2425
2441
  resize: vertical;
2426
2442
  min-height: 8rem;
2427
2443
  }
2428
2444
 
2429
- .rg-input:focus, .rg-textarea:focus, .rg-select:focus {
2445
+ .rg-input:focus, .rg-textarea:focus, .rg-select:focus, :where([data-ui="retro-glass"]) .ui-input:focus, :where([data-ui="retro-glass"]) .ui-textarea:focus, :where([data-ui="retro-glass"]) .ui-select:focus {
2430
2446
  border-color: var(--rg-focus);
2431
2447
  box-shadow: inset 0 8px 18px #00000024,0 0 0 3px rgb(var(--rg-focus-rgb)/.24),0 0 26px rgb(var(--rg-focus-rgb)/.22);
2432
2448
  }
2433
2449
 
2434
- .rg-help-text {
2450
+ .rg-help-text, :where([data-ui="retro-glass"]) .ui-help-text {
2435
2451
  color: var(--rg-text-muted);
2436
2452
  font-size: .9rem;
2437
2453
  }
2438
2454
 
2439
- .rg-badge {
2455
+ .rg-badge, :where([data-ui="retro-glass"]) .ui-badge {
2440
2456
  background: linear-gradient(135deg,#fff3,#ffffff0a),var(--rg-surface);
2441
2457
  min-height: 1.8rem;
2442
2458
  color: var(--rg-text);
@@ -2452,32 +2468,32 @@
2452
2468
  display: inline-flex;
2453
2469
  }
2454
2470
 
2455
- .rg-badge-primary {
2471
+ .rg-badge-primary, :where([data-ui="retro-glass"]) .ui-badge:where([data-ui-variant="primary"]) {
2456
2472
  background: var(--rg-primary);
2457
2473
  color: var(--rg-on-primary);
2458
2474
  }
2459
2475
 
2460
- .rg-badge-secondary {
2476
+ .rg-badge-secondary, :where([data-ui="retro-glass"]) .ui-badge:where([data-ui-variant="secondary"]) {
2461
2477
  background: var(--rg-secondary);
2462
2478
  color: var(--rg-on-secondary);
2463
2479
  }
2464
2480
 
2465
- .rg-badge-success {
2481
+ .rg-badge-success, :where([data-ui="retro-glass"]) .ui-badge:where([data-ui-variant="success"]) {
2466
2482
  background: var(--rg-success);
2467
2483
  color: var(--rg-on-success);
2468
2484
  }
2469
2485
 
2470
- .rg-badge-warning {
2486
+ .rg-badge-warning, :where([data-ui="retro-glass"]) .ui-badge:where([data-ui-variant="warning"]) {
2471
2487
  background: var(--rg-warning);
2472
2488
  color: var(--rg-on-warning);
2473
2489
  }
2474
2490
 
2475
- .rg-badge-danger {
2491
+ .rg-badge-danger, :where([data-ui="retro-glass"]) .ui-badge:where([data-ui-variant="danger"]) {
2476
2492
  background: var(--rg-danger);
2477
2493
  color: var(--rg-on-danger);
2478
2494
  }
2479
2495
 
2480
- .rg-nav {
2496
+ .rg-nav, :where([data-ui="retro-glass"]) .ui-nav {
2481
2497
  gap: var(--rg-space-2);
2482
2498
  padding: var(--rg-space-2);
2483
2499
  background: linear-gradient(135deg,#ffffff2e,#ffffff0a),var(--rg-surface);
@@ -2489,7 +2505,7 @@
2489
2505
  display: flex;
2490
2506
  }
2491
2507
 
2492
- .rg-nav-link {
2508
+ .rg-nav-link, :where([data-ui="retro-glass"]) .ui-nav-link {
2493
2509
  min-height: 2.5rem;
2494
2510
  color: var(--rg-text-muted);
2495
2511
  border-radius: var(--rg-radius-pill);
@@ -2502,13 +2518,13 @@
2502
2518
  display: inline-flex;
2503
2519
  }
2504
2520
 
2505
- .rg-nav-link:hover {
2521
+ .rg-nav-link:hover, :where([data-ui="retro-glass"]) .ui-nav-link:hover {
2506
2522
  color: var(--rg-text);
2507
2523
  border-color: rgb(var(--rg-primary-rgb)/.36);
2508
2524
  background: #ffffff1a;
2509
2525
  }
2510
2526
 
2511
- .rg-nav-link.is-active, .rg-nav-link[aria-current="page"] {
2527
+ .rg-nav-link.is-active, .rg-nav-link[aria-current="page"], :where([data-ui="retro-glass"]) .ui-nav-link.is-active, :where([data-ui="retro-glass"]) .ui-nav-link[aria-current="page"] {
2512
2528
  background: var(--rg-primary);
2513
2529
  color: var(--rg-on-primary);
2514
2530
  box-shadow: 0 0 22px var(--rg-glow-primary);
@@ -2542,7 +2558,7 @@
2542
2558
  transform: rotate(45deg);
2543
2559
  }
2544
2560
 
2545
- .rg-progress {
2561
+ .rg-progress, :where([data-ui="retro-glass"]) .ui-progress {
2546
2562
  background: var(--rg-surface-soft);
2547
2563
  border: 1px solid rgb(var(--rg-border-rgb)/.4);
2548
2564
  border-radius: var(--rg-radius-pill);
@@ -2552,7 +2568,7 @@
2552
2568
  box-shadow: inset 0 8px 18px #00000024;
2553
2569
  }
2554
2570
 
2555
- .rg-progress-bar {
2571
+ .rg-progress-bar, :where([data-ui="retro-glass"]) .ui-progress-bar {
2556
2572
  height: 100%;
2557
2573
  width: var(--rg-progress-value, 50%);
2558
2574
  background: linear-gradient(90deg,var(--rg-primary),var(--rg-accent),var(--rg-secondary));
@@ -2560,7 +2576,7 @@
2560
2576
  box-shadow: 0 0 18px var(--rg-glow-primary);
2561
2577
  }
2562
2578
 
2563
- .rg-alert {
2579
+ .rg-alert, :where([data-ui="retro-glass"]) .ui-alert {
2564
2580
  padding: var(--rg-space-4);
2565
2581
  background: var(--rg-surface);
2566
2582
  border: 1px solid var(--rg-border);
@@ -2569,52 +2585,52 @@
2569
2585
  backdrop-filter: blur(16px);
2570
2586
  }
2571
2587
 
2572
- .rg-alert-title {
2588
+ .rg-alert-title, :where([data-ui="retro-glass"]) .ui-alert-title {
2573
2589
  font-family: var(--rg-font-heading);
2574
2590
  text-transform: uppercase;
2575
2591
  margin: 0;
2576
2592
  }
2577
2593
 
2578
- .rg-alert-body {
2594
+ .rg-alert-body, :where([data-ui="retro-glass"]) .ui-alert-body {
2579
2595
  color: var(--rg-text-muted);
2580
2596
  margin: .5rem 0 0;
2581
2597
  }
2582
2598
 
2583
- .rg-alert-success {
2599
+ .rg-alert-success, :where([data-ui="retro-glass"]) .ui-alert:where([data-ui-variant="success"]) {
2584
2600
  border-left: 4px solid var(--rg-success);
2585
2601
  }
2586
2602
 
2587
- .rg-alert-warning {
2603
+ .rg-alert-warning, :where([data-ui="retro-glass"]) .ui-alert:where([data-ui-variant="warning"]) {
2588
2604
  border-left: 4px solid var(--rg-warning);
2589
2605
  }
2590
2606
 
2591
- .rg-alert-danger {
2607
+ .rg-alert-danger, :where([data-ui="retro-glass"]) .ui-alert:where([data-ui-variant="danger"]) {
2592
2608
  border-left: 4px solid var(--rg-danger);
2593
2609
  }
2594
2610
 
2595
- .rg-table-wrap {
2611
+ .rg-table-wrap, :where([data-ui="retro-glass"]) .ui-table-wrap {
2596
2612
  overflow: auto;
2597
2613
  }
2598
2614
 
2599
- .rg-table {
2615
+ .rg-table, :where([data-ui="retro-glass"]) .ui-table {
2600
2616
  border-collapse: collapse;
2601
2617
  width: 100%;
2602
2618
  }
2603
2619
 
2604
- .rg-table th, .rg-table td {
2620
+ .rg-table th, .rg-table td, :where([data-ui="retro-glass"]) .ui-table th, :where([data-ui="retro-glass"]) .ui-table td {
2605
2621
  border-bottom: 1px solid rgb(var(--rg-border-rgb)/.34);
2606
2622
  text-align: left;
2607
2623
  padding: .9rem 1rem;
2608
2624
  }
2609
2625
 
2610
- .rg-table th {
2626
+ .rg-table th, :where([data-ui="retro-glass"]) .ui-table th {
2611
2627
  background: rgb(var(--rg-primary-rgb)/.1);
2612
2628
  font-family: var(--rg-font-heading);
2613
2629
  text-transform: uppercase;
2614
2630
  letter-spacing: .1em;
2615
2631
  }
2616
2632
 
2617
- .rg-table td {
2633
+ .rg-table td, :where([data-ui="retro-glass"]) .ui-table td {
2618
2634
  color: var(--rg-text-muted);
2619
2635
  }
2620
2636
 
@@ -2662,15 +2678,15 @@
2662
2678
  }
2663
2679
  }
2664
2680
 
2665
- .rg-card, .rg-panel {
2681
+ .rg-card, .rg-panel, :where([data-ui="retro-glass"]) .ui-card {
2666
2682
  background: var(--rg-card-bg);
2667
2683
  }
2668
2684
 
2669
- .rg-toolbar, .rg-table-wrap, .rg-button:not(.rg-button-primary):not(.rg-button-secondary):not(.rg-button-danger):not(.rg-button-ghost), .rg-icon-button {
2685
+ .rg-toolbar, .rg-table-wrap, .rg-button:not(.rg-button-primary):not(.rg-button-secondary):not(.rg-button-danger):not(.rg-button-ghost), .rg-icon-button, :where([data-ui="retro-glass"]) .ui-toolbar, :where([data-ui="retro-glass"]) .ui-table-wrap, :where([data-ui="retro-glass"]) .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="retro-glass"]) .ui-icon-button {
2670
2686
  background: var(--rg-control-bg);
2671
2687
  }
2672
2688
 
2673
- .rg-button, .rg-icon-button, .rg-badge, .rg-nav-link {
2689
+ .rg-button, .rg-icon-button, .rg-badge, .rg-nav-link, :where([data-ui="retro-glass"]) .ui-button, :where([data-ui="retro-glass"]) .ui-icon-button, :where([data-ui="retro-glass"]) .ui-badge, :where([data-ui="retro-glass"]) .ui-nav-link {
2674
2690
  font-family: var(--rg-font-control);
2675
2691
  }
2676
2692
 
@@ -2701,12 +2717,12 @@
2701
2717
  inline-size: 3rem;
2702
2718
  }
2703
2719
 
2704
- .rg-button[aria-busy="true"], .rg-icon-button[aria-busy="true"], [data-ui="retro-glass"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]) {
2720
+ .rg-button[aria-busy="true"], .rg-icon-button[aria-busy="true"], [data-ui="retro-glass"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]), :where([data-ui="retro-glass"]) .ui-button[aria-busy="true"], :where([data-ui="retro-glass"]) .ui-icon-button[aria-busy="true"] {
2705
2721
  cursor: progress;
2706
2722
  gap: .55rem;
2707
2723
  }
2708
2724
 
2709
- .rg-button[aria-busy="true"]:after, .rg-icon-button[aria-busy="true"]:after, [data-ui="retro-glass"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]):after {
2725
+ .rg-button[aria-busy="true"]:after, .rg-icon-button[aria-busy="true"]:after, [data-ui="retro-glass"] :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="retro-glass"]) .ui-button[aria-busy="true"]:after, :where([data-ui="retro-glass"]) .ui-icon-button[aria-busy="true"]:after {
2710
2726
  content: "";
2711
2727
  border: .16em solid rgb(var(--rg-primary-text-rgb)/.42);
2712
2728
  border-block-start-color: currentColor;