ui-style-kit-css 2.1.0 → 2.3.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 (64) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +169 -54
  3. package/STYLE-MAP.md +55 -0
  4. package/dist/ui-style-kit.css +23744 -7015
  5. package/dist/ui-style-kit.min.css +2 -2
  6. package/dist/ui-style-kit.visual.css +22948 -6669
  7. package/dist/ui-style-kit.visual.min.css +2 -2
  8. package/dist/ui-style-kit.with-bridge.css +23941 -7205
  9. package/dist/ui-style-kit.with-bridge.min.css +2 -2
  10. package/dist/visual/art-deco.css +4776 -0
  11. package/dist/visual/bauhaus.css +1894 -147
  12. package/dist/visual/bento.css +1910 -166
  13. package/dist/visual/brutalism.css +1853 -98
  14. package/dist/visual/clay.css +4789 -0
  15. package/dist/visual/cyberpunk.css +1840 -94
  16. package/dist/visual/data-terminal.css +4804 -0
  17. package/dist/visual/editorial-luxe.css +4804 -0
  18. package/dist/visual/industrial-utility.css +4797 -0
  19. package/dist/visual/maximalist.css +1862 -112
  20. package/dist/visual/minimal-saas.css +1886 -147
  21. package/dist/visual/neo-noir.css +4790 -0
  22. package/dist/visual/neumorphism.css +1896 -151
  23. package/dist/visual/organic-modern.css +4767 -0
  24. package/dist/visual/paper-editorial.css +4799 -0
  25. package/dist/visual/retro-glass.css +1859 -93
  26. package/dist/visual/retrofuturism.css +1852 -113
  27. package/dist/visual/tactile.css +1851 -111
  28. package/dist/visual/technical-blueprint.css +4791 -0
  29. package/dist/visual/y2k.css +1840 -92
  30. package/docs/BRIDGE-MIGRATION.md +20 -0
  31. package/docs/ECOSYSTEM.md +39 -4
  32. package/docs/PUBLISHING.md +38 -13
  33. package/docs/STYLE-GUIDE.md +53 -13
  34. package/docs/TOKENS.md +50 -1
  35. package/docs/superpowers/plans/2026-08-29-preset-identity-system-refinement.md +649 -0
  36. package/docs/superpowers/specs/2026-08-29-preset-identity-system-refinement-design.md +212 -0
  37. package/manifest.json +482 -2
  38. package/package.json +77 -7
  39. package/styles/art-deco.css +683 -0
  40. package/styles/bauhaus.css +237 -3
  41. package/styles/bento.css +266 -7
  42. package/styles/brutalism.css +235 -3
  43. package/styles/clay.css +692 -0
  44. package/styles/components.css +608 -14
  45. package/styles/content-overflow.css +423 -4
  46. package/styles/cyberpunk.css +234 -3
  47. package/styles/data-terminal.css +691 -0
  48. package/styles/editorial-luxe.css +687 -0
  49. package/styles/industrial-utility.css +690 -0
  50. package/styles/interactive-surface-bridge.css +17 -10
  51. package/styles/interactive-surface-theme.css +17 -8
  52. package/styles/maximalist.css +238 -4
  53. package/styles/minimal-saas.css +234 -3
  54. package/styles/native-elements.css +80 -12
  55. package/styles/neo-noir.css +690 -0
  56. package/styles/neumorphism.css +234 -3
  57. package/styles/organic-modern.css +683 -0
  58. package/styles/paper-editorial.css +688 -0
  59. package/styles/retro-glass.css +242 -3
  60. package/styles/retrofuturism.css +233 -3
  61. package/styles/tactile.css +235 -3
  62. package/styles/technical-blueprint.css +686 -0
  63. package/styles/theme-colors.css +796 -5
  64. package/styles/y2k.css +237 -3
package/styles/y2k.css CHANGED
@@ -1,7 +1,7 @@
1
1
  /* =========================================================
2
2
  Y2K Theme System
3
3
  Includes:
4
- - 10 color schemes
4
+ - 20 color schemes
5
5
  - light / dark / contrast modes
6
6
  - themed UI components and utilities
7
7
 
@@ -142,7 +142,7 @@
142
142
  --y2k-fg: var(--y2k-text);
143
143
  --y2k-surface-fg: var(--y2k-text);
144
144
  --y2k-muted: var(--y2k-text-muted);
145
- --y2k-border: rgb(var(--y2k-border-rgb) / var(--y2k-border-alpha));
145
+ --y2k-border: rgb(var(--y2k-border-rgb) / max(var(--y2k-border-alpha), var(--usk-border-min-alpha)));
146
146
  --y2k-control-fg: var(--y2k-text);
147
147
  --y2k-primary: rgb(var(--y2k-primary-rgb));
148
148
  --y2k-primary-hover: rgb(var(--y2k-primary-hover-rgb));
@@ -177,6 +177,10 @@
177
177
  --y2k-spinner-accent: var(--y2k-accent);
178
178
  }
179
179
 
180
+ @supports (color: color-mix(in srgb, black, white)) {
181
+ [data-ui="y2k"][data-theme][data-mode] { --y2k-border: color-mix(in srgb, rgb(var(--y2k-border-rgb) / max(var(--y2k-border-alpha), var(--usk-border-min-alpha))), var(--y2k-text) var(--usk-border-text-mix)); }
182
+ }
183
+
180
184
  /* =========================================================
181
185
  1. Midnight Gold
182
186
  ========================================================= */
@@ -329,6 +333,236 @@
329
333
  @keyframes y2k-spin { to { transform: rotate(360deg); } }
330
334
 
331
335
 
336
+
337
+ /* =========================================================
338
+ Marketing / Commercial Component Modifiers
339
+ Reusable visual patterns derived from service-oriented brand systems.
340
+ ========================================================= */
341
+
342
+ .y2k-card-media {
343
+ display: block;
344
+ inline-size: 100%;
345
+ aspect-ratio: 16 / 9;
346
+ object-fit: cover;
347
+ border: 1px solid rgb(var(--y2k-border-rgb) / .72);
348
+ border-radius: var(--y2k-radius-lg);
349
+ }
350
+
351
+ .y2k-card-service {
352
+ position: relative;
353
+ display: grid;
354
+ gap: var(--y2k-space-3);
355
+ align-content: start;
356
+ text-align: center;
357
+ overflow: visible;
358
+ }
359
+ .y2k-card-service > .y2k-icon-medallion {
360
+ justify-self: center;
361
+ margin-block-start: -2.15rem;
362
+ position: relative;
363
+ z-index: 2;
364
+ }
365
+ .y2k-card-service > .y2k-card-media + .y2k-icon-medallion { margin-block-start: -2.15rem; }
366
+
367
+ .y2k-card-feature {
368
+ display: grid;
369
+ grid-template-columns: auto minmax(0, 1fr);
370
+ gap: var(--y2k-space-4);
371
+ align-items: start;
372
+ }
373
+
374
+ .y2k-card-accent-edge {
375
+ border-inline-start: .35rem solid var(--y2k-primary);
376
+ }
377
+
378
+ .y2k-icon-medallion {
379
+ display: inline-grid;
380
+ place-items: center;
381
+ inline-size: 3.75rem;
382
+ block-size: 3.75rem;
383
+ flex: 0 0 auto;
384
+ padding: .7rem;
385
+ background: var(--y2k-primary);
386
+ color: var(--y2k-on-primary);
387
+ border: 2px solid rgb(var(--y2k-border-rgb) / .82);
388
+ border-radius: 50%;
389
+ line-height: 1;
390
+ }
391
+ .y2k-icon-medallion > :where(svg, img) { inline-size: 100%; block-size: 100%; object-fit: contain; }
392
+
393
+ .y2k-button.y2k-button-cut,
394
+ .y2k-button-cut {
395
+ border-radius: 0;
396
+ clip-path: polygon(.6rem 0, 100% 0, 100% calc(100% - .6rem), calc(100% - .6rem) 100%, 0 100%, 0 .6rem);
397
+ }
398
+ .y2k-button.y2k-button-cut:focus-visible,
399
+ .y2k-button-cut:focus-visible { outline-offset: -3px; }
400
+
401
+ .y2k-button.y2k-button-outline-heavy,
402
+ .y2k-button-outline-heavy {
403
+ background: transparent;
404
+ color: var(--y2k-primary);
405
+ border-style: solid;
406
+ border-width: 2px;
407
+ border-color: var(--y2k-primary);
408
+ box-shadow: none;
409
+ }
410
+ .y2k-button.y2k-button-outline-heavy:hover,
411
+ .y2k-button-outline-heavy:hover {
412
+ background: var(--y2k-primary);
413
+ color: var(--y2k-on-primary);
414
+ border-color: var(--y2k-primary-hover);
415
+ }
416
+
417
+ .y2k-badge-seal {
418
+ display: inline-grid;
419
+ place-items: center;
420
+ align-content: center;
421
+ inline-size: 5rem;
422
+ min-inline-size: 5rem;
423
+ aspect-ratio: 1;
424
+ padding: .65rem;
425
+ background: var(--y2k-surface-strong);
426
+ color: var(--y2k-text);
427
+ border: 2px solid var(--y2k-primary);
428
+ border-radius: 50%;
429
+ text-align: center;
430
+ font-family: var(--y2k-font-heading);
431
+ font-size: .72rem;
432
+ font-weight: 900;
433
+ line-height: 1.05;
434
+ letter-spacing: .04em;
435
+ }
436
+
437
+ .y2k-feature-strip {
438
+ display: grid;
439
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
440
+ overflow: hidden;
441
+ background: var(--y2k-card-bg);
442
+ color: var(--y2k-text);
443
+ border: 1px solid var(--y2k-border);
444
+ border-radius: var(--y2k-radius-lg);
445
+ }
446
+
447
+ .y2k-feature-item {
448
+ display: grid;
449
+ grid-template-columns: auto minmax(0, 1fr);
450
+ align-items: center;
451
+ gap: var(--y2k-space-3);
452
+ min-inline-size: 0;
453
+ padding: var(--y2k-space-4);
454
+ border-inline-end: 1px solid rgb(var(--y2k-border-rgb) / .62);
455
+ }
456
+ .y2k-feature-item:last-child { border-inline-end: 0; }
457
+ .y2k-feature-item > :where(p, small) { margin: 0; color: var(--y2k-text-muted); }
458
+
459
+ .y2k-callout-bar {
460
+ display: grid;
461
+ grid-template-columns: auto minmax(0, 1fr) auto;
462
+ align-items: center;
463
+ gap: var(--y2k-space-4);
464
+ padding: var(--y2k-space-4) var(--y2k-space-5);
465
+ background: var(--y2k-card-bg);
466
+ color: var(--y2k-text);
467
+ border: 1px solid var(--y2k-border);
468
+ border-radius: var(--y2k-radius-lg);
469
+ }
470
+ .y2k-callout-bar > :where(p, div) { min-inline-size: 0; }
471
+ .y2k-callout-bar > :where(.y2k-button, a, button):last-child { justify-self: end; }
472
+
473
+ .y2k-eyebrow {
474
+ margin: 0;
475
+ color: var(--y2k-primary);
476
+ font-family: var(--y2k-font-heading);
477
+ font-size: .76rem;
478
+ font-weight: 900;
479
+ line-height: 1.2;
480
+ letter-spacing: .14em;
481
+ text-transform: uppercase;
482
+ }
483
+
484
+ .y2k-media-scrim {
485
+ position: relative;
486
+ overflow: hidden;
487
+ isolation: isolate;
488
+ min-block-size: 12rem;
489
+ background: var(--y2k-surface-soft);
490
+ border: 1px solid var(--y2k-border);
491
+ border-radius: var(--y2k-radius-lg);
492
+ }
493
+ .y2k-media-scrim > :where(img, picture, video) {
494
+ display: block;
495
+ inline-size: 100%;
496
+ block-size: 100%;
497
+ min-block-size: inherit;
498
+ object-fit: cover;
499
+ }
500
+ .y2k-media-scrim > :where(figcaption, [data-media-caption]) {
501
+ position: absolute;
502
+ z-index: 1;
503
+ inset-inline: 0;
504
+ inset-block-end: 0;
505
+ padding: clamp(1rem, 4vw, 2rem);
506
+ color: #fff;
507
+ background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .58) 56%, transparent);
508
+ }
509
+ .y2k-media-scrim > :where(figcaption, [data-media-caption]) * {
510
+ color: inherit;
511
+ }
512
+
513
+ @media (max-width: 42rem) {
514
+ .y2k-callout-bar { grid-template-columns: 1fr; align-items: start; }
515
+ .y2k-callout-bar > :where(.y2k-button, a, button):last-child { justify-self: stretch; }
516
+ .y2k-feature-item { border-inline-end: 0; border-block-end: 1px solid rgb(var(--y2k-border-rgb) / .62); }
517
+ .y2k-feature-item:last-child { border-block-end: 0; }
518
+ }
519
+
520
+ .y2k-card-service, .y2k-card-feature, .y2k-feature-strip, .y2k-callout-bar { box-shadow: 0 .8rem 2rem rgb(var(--y2k-primary-rgb) / .15); }
521
+ .y2k-icon-medallion, .y2k-badge-seal { background: linear-gradient(145deg, rgb(255 255 255 / .42), transparent 42%), var(--y2k-primary); box-shadow: inset 0 1px 0 rgb(255 255 255 / .55), 0 .5rem 1.1rem rgb(var(--y2k-primary-rgb) / .25); }
522
+ .y2k-button-cut { clip-path: polygon(7% 0, 93% 0, 100% 50%, 93% 100%, 7% 100%, 0 50%); }
523
+ .y2k-eyebrow { letter-spacing: .16em; text-shadow: 0 .08em .4em rgb(var(--y2k-primary-rgb) / .2); }
524
+
525
+ /* Filled and framed actions share a glossy gem profile with different reflections. */
526
+ .y2k-button.y2k-button-cut, .y2k-button-cut {
527
+ inline-size: min(100%, 14rem);
528
+ min-inline-size: 6rem;
529
+ max-inline-size: 100%;
530
+ justify-self: center;
531
+ justify-content: center;
532
+ clip-path: polygon(8% 0, 92% 0, 100% 50%, 92% 100%, 8% 100%, 0 50%);
533
+ }
534
+ .y2k-button.y2k-button-outline-heavy, .y2k-button-outline-heavy {
535
+ border-width: 2px;
536
+ border-radius: var(--y2k-radius-pill);
537
+ background: linear-gradient(180deg, rgb(var(--y2k-surface-strong-rgb) / .5), transparent);
538
+ clip-path: polygon(6% 0, 94% 0, 100% 50%, 94% 100%, 6% 100%, 0 50%);
539
+ box-shadow: inset 0 2px 0 rgb(var(--y2k-surface-strong-rgb) / .86), 0 .35rem .9rem rgb(var(--y2k-secondary-rgb) / .2);
540
+ }
541
+
542
+ /* Marketing and native surfaces share capsule rounding and reflective depth. */
543
+ .y2k-card-service, .y2k-media-scrim, .y2k-feature-strip, .y2k-callout-bar, .y2k-well {
544
+ background: linear-gradient(155deg, rgb(var(--y2k-surface-strong-rgb) / .76), rgb(var(--y2k-primary-rgb) / .08)), var(--y2k-card-bg);
545
+ border: 1px solid var(--y2k-border);
546
+ border-radius: var(--y2k-radius-xl);
547
+ box-shadow: inset 0 2px 0 rgb(var(--y2k-surface-strong-rgb) / .82), 0 .75rem 1.5rem rgb(var(--y2k-secondary-rgb) / .2);
548
+ }
549
+ [data-ui="y2k"][data-theme][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
550
+ border: 2px solid var(--y2k-primary);
551
+ border-radius: var(--y2k-radius-pill);
552
+ box-shadow: inset 0 2px 0 rgb(var(--y2k-surface-strong-rgb) / .82), 0 .35rem .8rem rgb(var(--y2k-secondary-rgb) / .2);
553
+ }
554
+ [data-ui="y2k"][data-theme][data-mode] :where(dialog) {
555
+ background: linear-gradient(155deg, rgb(var(--y2k-surface-strong-rgb) / .82), rgb(var(--y2k-primary-rgb) / .08)), var(--y2k-surface);
556
+ border: 1px solid var(--y2k-border);
557
+ border-radius: var(--y2k-radius-xl);
558
+ box-shadow: inset 0 2px 0 rgb(var(--y2k-surface-strong-rgb) / .82), 0 1rem 2.2rem rgb(var(--y2k-secondary-rgb) / .24);
559
+ }
560
+
561
+ /* Busy indicators carry the glossy, candy-coated Y2K highlight. */
562
+ .y2k-button[aria-busy="true"]::after, .y2k-icon-button[aria-busy="true"]::after, [data-ui="y2k"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
563
+ border: .09em solid rgb(255 255 255 / .58); border-block-start-color: currentColor; border-radius: 50%; background: radial-gradient(circle at 30% 24%, rgb(255 255 255 / .9), transparent 20%), conic-gradient(currentColor, transparent 48%, currentColor); box-shadow: 0 0 .45em currentColor, inset -.08em -.08em .16em rgb(0 0 0 / .18); clip-path: circle(50%); animation: y2k-spin .9s linear infinite;
564
+ }
565
+
332
566
  @media (prefers-reduced-motion: reduce) {
333
567
  [data-ui="y2k"] *, [data-ui="y2k"] *::before, [data-ui="y2k"] *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
334
568
  }
@@ -336,7 +570,7 @@
336
570
  [data-ui="y2k"] { --y2k-border-alpha: 1; }
337
571
  }
338
572
  @media (forced-colors: active) {
339
- [data-ui="y2k"] * { forced-color-adjust: auto; }
573
+ @supports (forced-color-adjust: auto) { [data-ui="y2k"] * { forced-color-adjust: auto; } }
340
574
  [data-ui="y2k"] :where(:focus-visible) { outline: 3px solid CanvasText; box-shadow: none; }
341
575
  }
342
576
  @media print {