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
@@ -1,6 +1,6 @@
1
1
  /* =========================================================
2
2
  UI Style Kit CSS — Neumorphism Theme System
3
- Includes 10 color schemes, light/dark/contrast modes,
3
+ Includes 20 color schemes, light/dark/contrast modes,
4
4
  component classes, native element coverage, and CSS-only
5
5
  accessibility presentation helpers.
6
6
 
@@ -133,7 +133,7 @@
133
133
  --neo-fg: var(--neo-text);
134
134
  --neo-surface-fg: var(--neo-text);
135
135
  --neo-muted: var(--neo-text-muted);
136
- --neo-border: rgb(var(--neo-border-rgb) / var(--neo-border-alpha));
136
+ --neo-border: rgb(var(--neo-border-rgb) / max(var(--neo-border-alpha), var(--usk-border-min-alpha)));
137
137
  --neo-control-fg: var(--neo-text);
138
138
  --neo-primary: rgb(var(--neo-primary-rgb));
139
139
  --neo-primary-hover: rgb(var(--neo-primary-hover-rgb));
@@ -163,6 +163,10 @@
163
163
  --neo-spinner-accent: var(--neo-accent);
164
164
  }
165
165
 
166
+ @supports (color: color-mix(in srgb, black, white)) {
167
+ [data-ui="neumorphism"][data-theme][data-mode] { --neo-border: color-mix(in srgb, rgb(var(--neo-border-rgb) / max(var(--neo-border-alpha), var(--usk-border-min-alpha))), var(--neo-text) var(--usk-border-text-mix)); }
168
+ }
169
+
166
170
 
167
171
 
168
172
 
@@ -435,6 +439,233 @@
435
439
  @keyframes neo-spin { to { transform: rotate(360deg); } }
436
440
 
437
441
 
442
+
443
+ /* =========================================================
444
+ Marketing / Commercial Component Modifiers
445
+ Reusable visual patterns derived from service-oriented brand systems.
446
+ ========================================================= */
447
+
448
+ .neo-card-media {
449
+ display: block;
450
+ inline-size: 100%;
451
+ aspect-ratio: 16 / 9;
452
+ object-fit: cover;
453
+ border: 1px solid rgb(var(--neo-border-rgb) / .72);
454
+ border-radius: var(--neo-radius-lg);
455
+ }
456
+
457
+ .neo-card-service {
458
+ position: relative;
459
+ display: grid;
460
+ gap: var(--neo-space-3);
461
+ align-content: start;
462
+ text-align: center;
463
+ overflow: visible;
464
+ }
465
+ .neo-card-service > .neo-icon-medallion {
466
+ justify-self: center;
467
+ margin-block-start: -2.15rem;
468
+ position: relative;
469
+ z-index: 2;
470
+ }
471
+ .neo-card-service > .neo-card-media + .neo-icon-medallion { margin-block-start: -2.15rem; }
472
+
473
+ .neo-card-feature {
474
+ display: grid;
475
+ grid-template-columns: auto minmax(0, 1fr);
476
+ gap: var(--neo-space-4);
477
+ align-items: start;
478
+ }
479
+
480
+ .neo-card-accent-edge {
481
+ border-inline-start: .35rem solid var(--neo-primary);
482
+ }
483
+
484
+ .neo-icon-medallion {
485
+ display: inline-grid;
486
+ place-items: center;
487
+ inline-size: 3.75rem;
488
+ block-size: 3.75rem;
489
+ flex: 0 0 auto;
490
+ padding: .7rem;
491
+ background: var(--neo-primary);
492
+ color: var(--neo-on-primary);
493
+ border: 2px solid rgb(var(--neo-border-rgb) / .82);
494
+ border-radius: 50%;
495
+ line-height: 1;
496
+ }
497
+ .neo-icon-medallion > :where(svg, img) { inline-size: 100%; block-size: 100%; object-fit: contain; }
498
+
499
+ .neo-button.neo-button-cut,
500
+ .neo-button-cut {
501
+ border-radius: 0;
502
+ clip-path: polygon(.6rem 0, 100% 0, 100% calc(100% - .6rem), calc(100% - .6rem) 100%, 0 100%, 0 .6rem);
503
+ }
504
+ .neo-button.neo-button-cut:focus-visible,
505
+ .neo-button-cut:focus-visible { outline-offset: -3px; }
506
+
507
+ .neo-button.neo-button-outline-heavy,
508
+ .neo-button-outline-heavy {
509
+ background: transparent;
510
+ color: var(--neo-primary);
511
+ border-style: solid;
512
+ border-width: 2px;
513
+ border-color: var(--neo-primary);
514
+ box-shadow: none;
515
+ }
516
+ .neo-button.neo-button-outline-heavy:hover,
517
+ .neo-button-outline-heavy:hover {
518
+ background: var(--neo-primary);
519
+ color: var(--neo-on-primary);
520
+ border-color: var(--neo-primary-hover);
521
+ }
522
+
523
+ .neo-badge-seal {
524
+ display: inline-grid;
525
+ place-items: center;
526
+ align-content: center;
527
+ inline-size: 5rem;
528
+ min-inline-size: 5rem;
529
+ aspect-ratio: 1;
530
+ padding: .65rem;
531
+ background: var(--neo-surface-strong);
532
+ color: var(--neo-text);
533
+ border: 2px solid var(--neo-primary);
534
+ border-radius: 50%;
535
+ text-align: center;
536
+ font-family: var(--neo-font-heading);
537
+ font-size: .72rem;
538
+ font-weight: 900;
539
+ line-height: 1.05;
540
+ letter-spacing: .04em;
541
+ }
542
+
543
+ .neo-feature-strip {
544
+ display: grid;
545
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
546
+ overflow: hidden;
547
+ background: var(--neo-card-bg);
548
+ color: var(--neo-text);
549
+ border: 1px solid var(--neo-border);
550
+ border-radius: var(--neo-radius-lg);
551
+ }
552
+
553
+ .neo-feature-item {
554
+ display: grid;
555
+ grid-template-columns: auto minmax(0, 1fr);
556
+ align-items: center;
557
+ gap: var(--neo-space-3);
558
+ min-inline-size: 0;
559
+ padding: var(--neo-space-4);
560
+ border-inline-end: 1px solid rgb(var(--neo-border-rgb) / .62);
561
+ }
562
+ .neo-feature-item:last-child { border-inline-end: 0; }
563
+ .neo-feature-item > :where(p, small) { margin: 0; color: var(--neo-text-muted); }
564
+
565
+ .neo-callout-bar {
566
+ display: grid;
567
+ grid-template-columns: auto minmax(0, 1fr) auto;
568
+ align-items: center;
569
+ gap: var(--neo-space-4);
570
+ padding: var(--neo-space-4) var(--neo-space-5);
571
+ background: var(--neo-card-bg);
572
+ color: var(--neo-text);
573
+ border: 1px solid var(--neo-border);
574
+ border-radius: var(--neo-radius-lg);
575
+ }
576
+ .neo-callout-bar > :where(p, div) { min-inline-size: 0; }
577
+ .neo-callout-bar > :where(.neo-button, a, button):last-child { justify-self: end; }
578
+
579
+ .neo-eyebrow {
580
+ margin: 0;
581
+ color: var(--neo-primary);
582
+ font-family: var(--neo-font-heading);
583
+ font-size: .76rem;
584
+ font-weight: 900;
585
+ line-height: 1.2;
586
+ letter-spacing: .14em;
587
+ text-transform: uppercase;
588
+ }
589
+
590
+ .neo-media-scrim {
591
+ position: relative;
592
+ overflow: hidden;
593
+ isolation: isolate;
594
+ min-block-size: 12rem;
595
+ background: var(--neo-surface-soft);
596
+ border: 1px solid var(--neo-border);
597
+ border-radius: var(--neo-radius-lg);
598
+ }
599
+ .neo-media-scrim > :where(img, picture, video) {
600
+ display: block;
601
+ inline-size: 100%;
602
+ block-size: 100%;
603
+ min-block-size: inherit;
604
+ object-fit: cover;
605
+ }
606
+ .neo-media-scrim > :where(figcaption, [data-media-caption]) {
607
+ position: absolute;
608
+ z-index: 1;
609
+ inset-inline: 0;
610
+ inset-block-end: 0;
611
+ padding: clamp(1rem, 4vw, 2rem);
612
+ color: #fff;
613
+ background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .58) 56%, transparent);
614
+ }
615
+ .neo-media-scrim > :where(figcaption, [data-media-caption]) * {
616
+ color: inherit;
617
+ }
618
+
619
+ @media (max-width: 42rem) {
620
+ .neo-callout-bar { grid-template-columns: 1fr; align-items: start; }
621
+ .neo-callout-bar > :where(.neo-button, a, button):last-child { justify-self: stretch; }
622
+ .neo-feature-item { border-inline-end: 0; border-block-end: 1px solid rgb(var(--neo-border-rgb) / .62); }
623
+ .neo-feature-item:last-child { border-block-end: 0; }
624
+ }
625
+
626
+ .neo-card-service, .neo-card-feature, .neo-feature-strip, .neo-callout-bar { border-color: transparent; box-shadow: .65rem .65rem 1.35rem rgb(0 0 0 / .16), -.55rem -.55rem 1.25rem rgb(255 255 255 / .08); }
627
+ .neo-icon-medallion, .neo-badge-seal { border-color: transparent; box-shadow: .38rem .38rem .8rem rgb(0 0 0 / .18), -.3rem -.3rem .7rem rgb(255 255 255 / .1); }
628
+ .neo-button-outline-heavy { border-color: var(--neo-primary); box-shadow: inset .18rem .18rem .45rem rgb(0 0 0 / .12); }
629
+
630
+ /* Filled and framed actions remain softly clipped while changing elevation state. */
631
+ .neo-button.neo-button-cut, .neo-button-cut {
632
+ min-inline-size: 6rem;
633
+ max-inline-size: 100%;
634
+ justify-self: center;
635
+ justify-content: center;
636
+ border-radius: var(--neo-radius-pill);
637
+ clip-path: inset(0 round var(--neo-radius-pill));
638
+ }
639
+ .neo-button.neo-button-outline-heavy, .neo-button-outline-heavy {
640
+ border-width: 1px;
641
+ border-radius: var(--neo-radius-pill);
642
+ clip-path: inset(.08rem round var(--neo-radius-pill));
643
+ box-shadow: -.28rem -.28rem .65rem rgb(var(--neo-surface-strong-rgb) / .72), .32rem .32rem .72rem rgb(var(--neo-text-rgb) / .16);
644
+ }
645
+
646
+ /* Marketing and native surfaces pair raised shells with inset metric depth. */
647
+ .neo-card-service, .neo-media-scrim, .neo-feature-strip, .neo-callout-bar, .neo-well {
648
+ border: 1px solid rgb(var(--neo-border-rgb) / .36);
649
+ border-radius: var(--neo-radius-xl);
650
+ box-shadow: -.55rem -.55rem 1.15rem rgb(var(--neo-surface-strong-rgb) / .74), .58rem .58rem 1.2rem rgb(var(--neo-text-rgb) / .14);
651
+ }
652
+ .neo-well { box-shadow: inset .3rem .3rem .7rem rgb(var(--neo-text-rgb) / .12), inset -.3rem -.3rem .7rem rgb(var(--neo-surface-strong-rgb) / .68); }
653
+ [data-ui="neumorphism"][data-theme][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
654
+ border: 1px solid rgb(var(--neo-border-rgb) / .42);
655
+ border-radius: var(--neo-radius-pill);
656
+ box-shadow: -.28rem -.28rem .65rem rgb(var(--neo-surface-strong-rgb) / .72), .32rem .32rem .72rem rgb(var(--neo-text-rgb) / .16);
657
+ }
658
+ [data-ui="neumorphism"][data-theme][data-mode] :where(dialog) {
659
+ border: 1px solid rgb(var(--neo-border-rgb) / .38);
660
+ border-radius: var(--neo-radius-xl);
661
+ box-shadow: -.65rem -.65rem 1.3rem rgb(var(--neo-surface-strong-rgb) / .72), .72rem .72rem 1.45rem rgb(var(--neo-text-rgb) / .2);
662
+ }
663
+
664
+ /* Busy indicators read as a softly raised and inset Neumorphic dial. */
665
+ .neo-button[aria-busy="true"]::after, .neo-icon-button[aria-busy="true"]::after, [data-ui="neumorphism"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
666
+ border: .12em solid transparent; border-block-start-color: currentColor; border-radius: 50%; background: conic-gradient(currentColor, transparent 42%, currentColor); box-shadow: -.09em -.09em .18em rgb(255 255 255 / .38), .09em .09em .2em rgb(0 0 0 / .22), inset 0 0 0 .18em rgb(var(--neo-surface-rgb) / .6); clip-path: circle(50%); animation: neo-spin 1.04s linear infinite;
667
+ }
668
+
438
669
  @media (prefers-reduced-motion: reduce) {
439
670
  [data-ui="neumorphism"] *, [data-ui="neumorphism"] *::before, [data-ui="neumorphism"] *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
440
671
  }
@@ -442,7 +673,7 @@
442
673
  [data-ui="neumorphism"] { --neo-border-alpha: 1; --neo-focus-alpha: .75; }
443
674
  }
444
675
  @media (forced-colors: active) {
445
- [data-ui="neumorphism"] * { forced-color-adjust: auto; }
676
+ @supports (forced-color-adjust: auto) { [data-ui="neumorphism"] * { forced-color-adjust: auto; } }
446
677
  [data-ui="neumorphism"] :where(:focus-visible) { outline: 3px solid CanvasText; }
447
678
  }
448
679
  @media print {