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="cyberpunk"])[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="cyberpunk"])[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="cyberpunk"])[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="cyberpunk"]) .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="cyberpunk"]) .ui-check, :where([data-ui="cyberpunk"]) .ui-radio, :where([data-ui="cyberpunk"]) .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="cyberpunk"]) .ui-check-control, :where([data-ui="cyberpunk"]) .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="cyberpunk"]) .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="cyberpunk"]) .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="cyberpunk"]) .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="cyberpunk"]) .ui-switch:has(input:checked) .ui-switch-thumb {
2020
2036
  transform: translateX(1.25rem);
2021
2037
  }
2022
2038
 
@@ -2234,7 +2250,7 @@
2234
2250
  color: var(--cyber-on-primary);
2235
2251
  }
2236
2252
 
2237
- .cyber-title, .cyber-heading, .cyber-kicker, .cyber-button, .cyber-badge, .cyber-nav-link {
2253
+ .cyber-title, .cyber-heading, .cyber-kicker, .cyber-button, .cyber-badge, .cyber-nav-link, :where([data-ui="cyberpunk"]) .ui-button, :where([data-ui="cyberpunk"]) .ui-badge, :where([data-ui="cyberpunk"]) .ui-nav-link {
2238
2254
  font-family: var(--cyber-font-heading);
2239
2255
  text-transform: uppercase;
2240
2256
  }
@@ -2272,7 +2288,7 @@
2272
2288
  color: var(--cyber-text-muted);
2273
2289
  }
2274
2290
 
2275
- .cyber-card, .cyber-panel, .cyber-console, .cyber-toolbar, .cyber-table-wrap {
2291
+ .cyber-card, .cyber-panel, .cyber-console, .cyber-toolbar, .cyber-table-wrap, :where([data-ui="cyberpunk"]) .ui-card, :where([data-ui="cyberpunk"]) .ui-toolbar, :where([data-ui="cyberpunk"]) .ui-table-wrap {
2276
2292
  background: linear-gradient(135deg,#ffffff14,#ffffff05),var(--cyber-surface);
2277
2293
  color: var(--cyber-text);
2278
2294
  border: 1px solid var(--cyber-border);
@@ -2284,7 +2300,7 @@
2284
2300
  overflow: hidden;
2285
2301
  }
2286
2302
 
2287
- .cyber-card:before, .cyber-panel:before, .cyber-console:before, .cyber-toolbar:before {
2303
+ .cyber-card:before, .cyber-panel:before, .cyber-console:before, .cyber-toolbar:before, :where([data-ui="cyberpunk"]) .ui-card:before, :where([data-ui="cyberpunk"]) .ui-toolbar:before {
2288
2304
  content: "";
2289
2305
  pointer-events: none;
2290
2306
  border-top: 2px solid rgb(var(--cyber-primary-rgb)/.5);
@@ -2293,7 +2309,7 @@
2293
2309
  inset: 0;
2294
2310
  }
2295
2311
 
2296
- .cyber-card, .cyber-panel, .cyber-console {
2312
+ .cyber-card, .cyber-panel, .cyber-console, :where([data-ui="cyberpunk"]) .ui-card {
2297
2313
  padding: var(--cyber-space-6);
2298
2314
  }
2299
2315
 
@@ -2301,7 +2317,7 @@
2301
2317
  background: linear-gradient(180deg,rgb(var(--cyber-primary-rgb)/.08),transparent),var(--cyber-surface-strong);
2302
2318
  }
2303
2319
 
2304
- .cyber-toolbar {
2320
+ .cyber-toolbar, :where([data-ui="cyberpunk"]) .ui-toolbar {
2305
2321
  justify-content: space-between;
2306
2322
  align-items: center;
2307
2323
  gap: var(--cyber-space-4);
@@ -2327,7 +2343,7 @@
2327
2343
  padding: var(--cyber-space-5);
2328
2344
  }
2329
2345
 
2330
- .cyber-button, .cyber-icon-button {
2346
+ .cyber-button, .cyber-icon-button, :where([data-ui="cyberpunk"]) .ui-button, :where([data-ui="cyberpunk"]) .ui-icon-button {
2331
2347
  appearance: none;
2332
2348
  justify-content: center;
2333
2349
  align-items: center;
@@ -2350,52 +2366,52 @@
2350
2366
  display: inline-flex;
2351
2367
  }
2352
2368
 
2353
- .cyber-button:hover, .cyber-icon-button:hover {
2369
+ .cyber-button:hover, .cyber-icon-button:hover, :where([data-ui="cyberpunk"]) .ui-button:hover, :where([data-ui="cyberpunk"]) .ui-icon-button:hover {
2354
2370
  box-shadow: var(--cyber-shadow-md),0 0 26px var(--cyber-glow-primary);
2355
2371
  transform: translateY(-1px);
2356
2372
  }
2357
2373
 
2358
- .cyber-button:active, .cyber-icon-button:active, .cyber-button.is-active, .cyber-button[aria-pressed="true"] {
2374
+ .cyber-button:active, .cyber-icon-button:active, .cyber-button.is-active, .cyber-button[aria-pressed="true"], :where([data-ui="cyberpunk"]) .ui-button:active, :where([data-ui="cyberpunk"]) .ui-icon-button:active, :where([data-ui="cyberpunk"]) .ui-button.is-active, :where([data-ui="cyberpunk"]) .ui-button[aria-pressed="true"] {
2359
2375
  box-shadow: inset 0 0 18px #00000038,0 0 18px var(--cyber-glow-primary);
2360
2376
  transform: translateY(1px);
2361
2377
  }
2362
2378
 
2363
- .cyber-button-primary {
2379
+ .cyber-button-primary, :where([data-ui="cyberpunk"]) .ui-button:where([data-ui-variant="primary"]) {
2364
2380
  background: linear-gradient(135deg,#ffffff24,transparent),var(--cyber-primary);
2365
2381
  color: var(--cyber-on-primary);
2366
2382
  }
2367
2383
 
2368
- .cyber-button-primary:hover {
2384
+ .cyber-button-primary:hover, :where([data-ui="cyberpunk"]) .ui-button:where([data-ui-variant="primary"]):hover {
2369
2385
  background: var(--cyber-primary-hover);
2370
2386
  }
2371
2387
 
2372
- .cyber-button-secondary {
2388
+ .cyber-button-secondary, :where([data-ui="cyberpunk"]) .ui-button:where([data-ui-variant="secondary"]) {
2373
2389
  background: linear-gradient(135deg,#ffffff24,transparent),var(--cyber-secondary);
2374
2390
  color: var(--cyber-on-secondary);
2375
2391
  border-color: rgb(var(--cyber-secondary-rgb)/.7);
2376
2392
  }
2377
2393
 
2378
- .cyber-button-secondary:hover {
2394
+ .cyber-button-secondary:hover, :where([data-ui="cyberpunk"]) .ui-button:where([data-ui-variant="secondary"]):hover {
2379
2395
  background: var(--cyber-secondary-hover);
2380
2396
  }
2381
2397
 
2382
- .cyber-button-danger {
2398
+ .cyber-button-danger, :where([data-ui="cyberpunk"]) .ui-button:where([data-ui-variant="danger"]) {
2383
2399
  background: var(--cyber-danger);
2384
2400
  color: var(--cyber-on-danger);
2385
2401
  }
2386
2402
 
2387
- .cyber-icon-button {
2403
+ .cyber-icon-button, :where([data-ui="cyberpunk"]) .ui-icon-button {
2388
2404
  width: 2.85rem;
2389
2405
  padding: 0;
2390
2406
  }
2391
2407
 
2392
- .cyber-field {
2408
+ .cyber-field, :where([data-ui="cyberpunk"]) .ui-field {
2393
2409
  gap: var(--cyber-space-2);
2394
2410
  flex-direction: column;
2395
2411
  display: flex;
2396
2412
  }
2397
2413
 
2398
- .cyber-label {
2414
+ .cyber-label, :where([data-ui="cyberpunk"]) .ui-label {
2399
2415
  font-family: var(--cyber-font-heading);
2400
2416
  text-transform: uppercase;
2401
2417
  letter-spacing: .14em;
@@ -2403,7 +2419,7 @@
2403
2419
  font-weight: 800;
2404
2420
  }
2405
2421
 
2406
- .cyber-input, .cyber-textarea, .cyber-select {
2422
+ .cyber-input, .cyber-textarea, .cyber-select, :where([data-ui="cyberpunk"]) .ui-input, :where([data-ui="cyberpunk"]) .ui-textarea, :where([data-ui="cyberpunk"]) .ui-select {
2407
2423
  background: var(--cyber-surface-soft);
2408
2424
  width: 100%;
2409
2425
  min-height: 2.9rem;
@@ -2416,22 +2432,22 @@
2416
2432
  box-shadow: inset 0 0 18px #0003;
2417
2433
  }
2418
2434
 
2419
- .cyber-textarea {
2435
+ .cyber-textarea, :where([data-ui="cyberpunk"]) .ui-textarea {
2420
2436
  resize: vertical;
2421
2437
  min-height: 8rem;
2422
2438
  }
2423
2439
 
2424
- .cyber-input:focus, .cyber-textarea:focus, .cyber-select:focus {
2440
+ .cyber-input:focus, .cyber-textarea:focus, .cyber-select:focus, :where([data-ui="cyberpunk"]) .ui-input:focus, :where([data-ui="cyberpunk"]) .ui-textarea:focus, :where([data-ui="cyberpunk"]) .ui-select:focus {
2425
2441
  border-color: var(--cyber-focus);
2426
2442
  box-shadow: 0 0 0 2px rgb(var(--cyber-focus-rgb)/.24),0 0 24px rgb(var(--cyber-focus-rgb)/.24),inset 0 0 18px #0003;
2427
2443
  }
2428
2444
 
2429
- .cyber-help-text {
2445
+ .cyber-help-text, :where([data-ui="cyberpunk"]) .ui-help-text {
2430
2446
  color: var(--cyber-text-muted);
2431
2447
  font-size: .9rem;
2432
2448
  }
2433
2449
 
2434
- .cyber-badge {
2450
+ .cyber-badge, :where([data-ui="cyberpunk"]) .ui-badge {
2435
2451
  background: var(--cyber-surface);
2436
2452
  min-height: 1.8rem;
2437
2453
  color: var(--cyber-text);
@@ -2446,32 +2462,32 @@
2446
2462
  display: inline-flex;
2447
2463
  }
2448
2464
 
2449
- .cyber-badge-primary {
2465
+ .cyber-badge-primary, :where([data-ui="cyberpunk"]) .ui-badge:where([data-ui-variant="primary"]) {
2450
2466
  background: var(--cyber-primary);
2451
2467
  color: var(--cyber-on-primary);
2452
2468
  }
2453
2469
 
2454
- .cyber-badge-secondary {
2470
+ .cyber-badge-secondary, :where([data-ui="cyberpunk"]) .ui-badge:where([data-ui-variant="secondary"]) {
2455
2471
  background: var(--cyber-secondary);
2456
2472
  color: var(--cyber-on-secondary);
2457
2473
  }
2458
2474
 
2459
- .cyber-badge-success {
2475
+ .cyber-badge-success, :where([data-ui="cyberpunk"]) .ui-badge:where([data-ui-variant="success"]) {
2460
2476
  background: var(--cyber-success);
2461
2477
  color: var(--cyber-on-success);
2462
2478
  }
2463
2479
 
2464
- .cyber-badge-warning {
2480
+ .cyber-badge-warning, :where([data-ui="cyberpunk"]) .ui-badge:where([data-ui-variant="warning"]) {
2465
2481
  background: var(--cyber-warning);
2466
2482
  color: var(--cyber-on-warning);
2467
2483
  }
2468
2484
 
2469
- .cyber-badge-danger {
2485
+ .cyber-badge-danger, :where([data-ui="cyberpunk"]) .ui-badge:where([data-ui-variant="danger"]) {
2470
2486
  background: var(--cyber-danger);
2471
2487
  color: var(--cyber-on-danger);
2472
2488
  }
2473
2489
 
2474
- .cyber-nav {
2490
+ .cyber-nav, :where([data-ui="cyberpunk"]) .ui-nav {
2475
2491
  gap: var(--cyber-space-2);
2476
2492
  padding: var(--cyber-space-2);
2477
2493
  background: var(--cyber-surface);
@@ -2482,7 +2498,7 @@
2482
2498
  display: flex;
2483
2499
  }
2484
2500
 
2485
- .cyber-nav-link {
2501
+ .cyber-nav-link, :where([data-ui="cyberpunk"]) .ui-nav-link {
2486
2502
  min-height: 2.5rem;
2487
2503
  color: var(--cyber-text-muted);
2488
2504
  border-radius: var(--cyber-radius-xs);
@@ -2495,12 +2511,12 @@
2495
2511
  display: inline-flex;
2496
2512
  }
2497
2513
 
2498
- .cyber-nav-link:hover {
2514
+ .cyber-nav-link:hover, :where([data-ui="cyberpunk"]) .ui-nav-link:hover {
2499
2515
  color: var(--cyber-text);
2500
2516
  border-color: rgb(var(--cyber-primary-rgb)/.48);
2501
2517
  }
2502
2518
 
2503
- .cyber-nav-link.is-active, .cyber-nav-link[aria-current="page"] {
2519
+ .cyber-nav-link.is-active, .cyber-nav-link[aria-current="page"], :where([data-ui="cyberpunk"]) .ui-nav-link.is-active, :where([data-ui="cyberpunk"]) .ui-nav-link[aria-current="page"] {
2504
2520
  background: var(--cyber-primary);
2505
2521
  color: var(--cyber-on-primary);
2506
2522
  border-color: var(--cyber-primary);
@@ -2535,7 +2551,7 @@
2535
2551
  flex: none;
2536
2552
  }
2537
2553
 
2538
- .cyber-progress {
2554
+ .cyber-progress, :where([data-ui="cyberpunk"]) .ui-progress {
2539
2555
  background: var(--cyber-surface-soft);
2540
2556
  border: 1px solid var(--cyber-border);
2541
2557
  width: 100%;
@@ -2543,14 +2559,14 @@
2543
2559
  box-shadow: inset 0 0 18px #0000002e;
2544
2560
  }
2545
2561
 
2546
- .cyber-progress-bar {
2562
+ .cyber-progress-bar, :where([data-ui="cyberpunk"]) .ui-progress-bar {
2547
2563
  height: 100%;
2548
2564
  width: var(--cyber-progress-value, 50%);
2549
2565
  background: linear-gradient(90deg,var(--cyber-primary),var(--cyber-accent));
2550
2566
  box-shadow: 0 0 18px var(--cyber-glow-primary);
2551
2567
  }
2552
2568
 
2553
- .cyber-alert {
2569
+ .cyber-alert, :where([data-ui="cyberpunk"]) .ui-alert {
2554
2570
  padding: var(--cyber-space-4);
2555
2571
  background: var(--cyber-surface);
2556
2572
  border: 1px solid var(--cyber-border);
@@ -2558,56 +2574,56 @@
2558
2574
  box-shadow: var(--cyber-shadow-md),0 0 22px var(--cyber-glow-primary);
2559
2575
  }
2560
2576
 
2561
- .cyber-alert-success {
2577
+ .cyber-alert-success, :where([data-ui="cyberpunk"]) .ui-alert:where([data-ui-variant="success"]) {
2562
2578
  border-left-color: var(--cyber-success);
2563
2579
  }
2564
2580
 
2565
- .cyber-alert-warning {
2581
+ .cyber-alert-warning, :where([data-ui="cyberpunk"]) .ui-alert:where([data-ui-variant="warning"]) {
2566
2582
  border-left-color: var(--cyber-warning);
2567
2583
  }
2568
2584
 
2569
- .cyber-alert-danger {
2585
+ .cyber-alert-danger, :where([data-ui="cyberpunk"]) .ui-alert:where([data-ui-variant="danger"]) {
2570
2586
  border-left-color: var(--cyber-danger);
2571
2587
  }
2572
2588
 
2573
- .cyber-alert-title {
2589
+ .cyber-alert-title, :where([data-ui="cyberpunk"]) .ui-alert-title {
2574
2590
  font-family: var(--cyber-font-heading);
2575
2591
  text-transform: uppercase;
2576
2592
  margin: 0;
2577
2593
  }
2578
2594
 
2579
- .cyber-alert-body {
2595
+ .cyber-alert-body, :where([data-ui="cyberpunk"]) .ui-alert-body {
2580
2596
  color: var(--cyber-text-muted);
2581
2597
  margin: .5rem 0 0;
2582
2598
  }
2583
2599
 
2584
- .cyber-table-wrap {
2600
+ .cyber-table-wrap, :where([data-ui="cyberpunk"]) .ui-table-wrap {
2585
2601
  overflow: auto;
2586
2602
  }
2587
2603
 
2588
- .cyber-table {
2604
+ .cyber-table, :where([data-ui="cyberpunk"]) .ui-table {
2589
2605
  border-collapse: collapse;
2590
2606
  width: 100%;
2591
2607
  }
2592
2608
 
2593
- .cyber-table th, .cyber-table td {
2609
+ .cyber-table th, .cyber-table td, :where([data-ui="cyberpunk"]) .ui-table th, :where([data-ui="cyberpunk"]) .ui-table td {
2594
2610
  border-bottom: 1px solid rgb(var(--cyber-border-rgb)/.38);
2595
2611
  text-align: left;
2596
2612
  padding: .9rem 1rem;
2597
2613
  }
2598
2614
 
2599
- .cyber-table th {
2615
+ .cyber-table th, :where([data-ui="cyberpunk"]) .ui-table th {
2600
2616
  background: rgb(var(--cyber-primary-rgb)/.12);
2601
2617
  font-family: var(--cyber-font-heading);
2602
2618
  text-transform: uppercase;
2603
2619
  letter-spacing: .1em;
2604
2620
  }
2605
2621
 
2606
- .cyber-table td {
2622
+ .cyber-table td, :where([data-ui="cyberpunk"]) .ui-table td {
2607
2623
  color: var(--cyber-text-muted);
2608
2624
  }
2609
2625
 
2610
- .cyber-table tr:hover td {
2626
+ .cyber-table tr:hover td, :where([data-ui="cyberpunk"]) .ui-table tr:hover td {
2611
2627
  background: rgb(var(--cyber-primary-rgb)/.06);
2612
2628
  }
2613
2629
 
@@ -2640,7 +2656,7 @@
2640
2656
  outline-offset: 3px;
2641
2657
  }
2642
2658
 
2643
- .cyber-button:focus-visible, .cyber-icon-button:focus-visible, .cyber-input:focus-visible, .cyber-nav-link:focus-visible {
2659
+ .cyber-button:focus-visible, .cyber-icon-button:focus-visible, .cyber-input:focus-visible, .cyber-nav-link:focus-visible, :where([data-ui="cyberpunk"]) .ui-button:focus-visible, :where([data-ui="cyberpunk"]) .ui-icon-button:focus-visible, :where([data-ui="cyberpunk"]) .ui-input:focus-visible, :where([data-ui="cyberpunk"]) .ui-nav-link:focus-visible {
2644
2660
  box-shadow: 0 0 0 3px rgb(var(--cyber-focus-rgb)/.28),0 0 28px rgb(var(--cyber-focus-rgb)/.28);
2645
2661
  }
2646
2662
 
@@ -2651,15 +2667,15 @@
2651
2667
  }
2652
2668
  }
2653
2669
 
2654
- .cyber-card, .cyber-panel {
2670
+ .cyber-card, .cyber-panel, :where([data-ui="cyberpunk"]) .ui-card {
2655
2671
  background: var(--cyber-card-bg);
2656
2672
  }
2657
2673
 
2658
- .cyber-toolbar, .cyber-table-wrap, .cyber-button:not(.cyber-button-primary):not(.cyber-button-secondary):not(.cyber-button-danger):not(.cyber-button-ghost), .cyber-icon-button {
2674
+ .cyber-toolbar, .cyber-table-wrap, .cyber-button:not(.cyber-button-primary):not(.cyber-button-secondary):not(.cyber-button-danger):not(.cyber-button-ghost), .cyber-icon-button, :where([data-ui="cyberpunk"]) .ui-toolbar, :where([data-ui="cyberpunk"]) .ui-table-wrap, :where([data-ui="cyberpunk"]) .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="cyberpunk"]) .ui-icon-button {
2659
2675
  background: var(--cyber-control-bg);
2660
2676
  }
2661
2677
 
2662
- .cyber-button, .cyber-icon-button, .cyber-badge, .cyber-nav-link {
2678
+ .cyber-button, .cyber-icon-button, .cyber-badge, .cyber-nav-link, :where([data-ui="cyberpunk"]) .ui-button, :where([data-ui="cyberpunk"]) .ui-icon-button, :where([data-ui="cyberpunk"]) .ui-badge, :where([data-ui="cyberpunk"]) .ui-nav-link {
2663
2679
  font-family: var(--cyber-font-control);
2664
2680
  }
2665
2681
 
@@ -2690,12 +2706,12 @@
2690
2706
  inline-size: 3rem;
2691
2707
  }
2692
2708
 
2693
- .cyber-button[aria-busy="true"], .cyber-icon-button[aria-busy="true"], [data-ui="cyberpunk"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]) {
2709
+ .cyber-button[aria-busy="true"], .cyber-icon-button[aria-busy="true"], [data-ui="cyberpunk"] :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="cyberpunk"]) .ui-button[aria-busy="true"], :where([data-ui="cyberpunk"]) .ui-icon-button[aria-busy="true"] {
2694
2710
  cursor: progress;
2695
2711
  gap: .55rem;
2696
2712
  }
2697
2713
 
2698
- .cyber-button[aria-busy="true"]:after, .cyber-icon-button[aria-busy="true"]:after, [data-ui="cyberpunk"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]):after {
2714
+ .cyber-button[aria-busy="true"]:after, .cyber-icon-button[aria-busy="true"]:after, [data-ui="cyberpunk"] :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="cyberpunk"]) .ui-button[aria-busy="true"]:after, :where([data-ui="cyberpunk"]) .ui-icon-button[aria-busy="true"]:after {
2699
2715
  content: "";
2700
2716
  border: .16em solid rgb(var(--cyber-primary-text-rgb)/.42);
2701
2717
  border-block-start-color: currentColor;