ui-style-kit-css 2.2.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 (63) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +100 -31
  3. package/STYLE-MAP.md +19 -0
  4. package/dist/ui-style-kit.css +18417 -1704
  5. package/dist/ui-style-kit.min.css +2 -2
  6. package/dist/ui-style-kit.visual.css +17709 -1446
  7. package/dist/ui-style-kit.visual.min.css +2 -2
  8. package/dist/ui-style-kit.with-bridge.css +18425 -1706
  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 +1809 -78
  12. package/dist/visual/bento.css +1825 -97
  13. package/dist/visual/brutalism.css +1774 -35
  14. package/dist/visual/clay.css +4789 -0
  15. package/dist/visual/cyberpunk.css +1765 -35
  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 +1771 -37
  20. package/dist/visual/minimal-saas.css +1801 -78
  21. package/dist/visual/neo-noir.css +4790 -0
  22. package/dist/visual/neumorphism.css +1807 -78
  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 +1786 -36
  26. package/dist/visual/retrofuturism.css +1759 -36
  27. package/dist/visual/tactile.css +1760 -36
  28. package/dist/visual/technical-blueprint.css +4791 -0
  29. package/dist/visual/y2k.css +1767 -35
  30. package/docs/ECOSYSTEM.md +8 -4
  31. package/docs/PUBLISHING.md +14 -10
  32. package/docs/STYLE-GUIDE.md +53 -13
  33. package/docs/TOKENS.md +10 -1
  34. package/docs/superpowers/plans/2026-08-29-preset-identity-system-refinement.md +649 -0
  35. package/docs/superpowers/specs/2026-08-29-preset-identity-system-refinement-design.md +212 -0
  36. package/manifest.json +160 -2
  37. package/package.json +63 -6
  38. package/styles/art-deco.css +683 -0
  39. package/styles/bauhaus.css +237 -3
  40. package/styles/bento.css +266 -7
  41. package/styles/brutalism.css +235 -3
  42. package/styles/clay.css +692 -0
  43. package/styles/components.css +608 -14
  44. package/styles/content-overflow.css +423 -4
  45. package/styles/cyberpunk.css +234 -3
  46. package/styles/data-terminal.css +691 -0
  47. package/styles/editorial-luxe.css +687 -0
  48. package/styles/industrial-utility.css +690 -0
  49. package/styles/interactive-surface-bridge.css +11 -5
  50. package/styles/interactive-surface-theme.css +11 -3
  51. package/styles/maximalist.css +238 -4
  52. package/styles/minimal-saas.css +234 -3
  53. package/styles/native-elements.css +64 -12
  54. package/styles/neo-noir.css +690 -0
  55. package/styles/neumorphism.css +234 -3
  56. package/styles/organic-modern.css +683 -0
  57. package/styles/paper-editorial.css +688 -0
  58. package/styles/retro-glass.css +242 -3
  59. package/styles/retrofuturism.css +233 -3
  60. package/styles/tactile.css +235 -3
  61. package/styles/technical-blueprint.css +686 -0
  62. package/styles/theme-colors.css +796 -5
  63. 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 {