@godxjp/ui 33.22.2 → 33.25.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 (130) hide show
  1. package/DESIGN.md +1 -1
  2. package/README.md +16 -5
  3. package/agent/DESIGN.md +1 -1
  4. package/agent/START-HERE.md +8 -8
  5. package/agent/components/AgentBadge.json +43 -0
  6. package/agent/components/AppShell.json +6 -0
  7. package/agent/components/Avatar.json +7 -0
  8. package/agent/components/CatalogDetail.json +7 -3
  9. package/agent/components/DatePicker.json +1 -1
  10. package/agent/components/DropdownMenu.json +1 -0
  11. package/agent/components/EditorialCard.json +2 -1
  12. package/agent/components/Image.json +6 -1
  13. package/agent/components/PageContainer.json +5 -0
  14. package/agent/components/PageErrorBoundary.json +48 -0
  15. package/agent/components/Pagination.json +5 -0
  16. package/agent/components/Popover.json +1 -0
  17. package/agent/components/Select.json +2 -1
  18. package/agent/components/Toaster.json +2 -2
  19. package/agent/components/Toolbar.json +1 -1
  20. package/agent/components/Topbar.json +1 -1
  21. package/agent/components-index.json +10 -0
  22. package/agent/components.json +138 -11
  23. package/agent/index.json +8 -8
  24. package/agent/llms.txt +7 -7
  25. package/agent/patterns/notice-bar.json +16 -0
  26. package/agent/patterns-index.json +15 -0
  27. package/agent/patterns.json +16 -0
  28. package/agent/rules.json +2 -2
  29. package/agent/tokens.json +121 -7
  30. package/dist/components/charts/chart-cartesian.js +5 -1
  31. package/dist/components/charts/chart-summary.d.ts +1 -1
  32. package/dist/components/charts/chart-summary.js +17 -6
  33. package/dist/components/charts/compact-bar-trend.js +4 -3
  34. package/dist/components/charts/pie-chart.js +2 -1
  35. package/dist/components/data-display/avatar.d.ts +1 -1
  36. package/dist/components/data-display/avatar.js +7 -1
  37. package/dist/components/data-display/badge.d.ts +11 -0
  38. package/dist/components/data-display/badge.js +20 -0
  39. package/dist/components/data-display/image.d.ts +1 -0
  40. package/dist/components/data-display/image.js +10 -2
  41. package/dist/components/data-display/index.d.ts +2 -2
  42. package/dist/components/data-display/index.js +2 -1
  43. package/dist/components/data-display/popover.js +11 -0
  44. package/dist/components/data-entry/calendar.js +1 -1
  45. package/dist/components/data-entry/date-picker.js +22 -5
  46. package/dist/components/data-entry/record-picker.js +122 -98
  47. package/dist/components/data-entry/select.js +13 -3
  48. package/dist/components/general/button.js +2 -2
  49. package/dist/components/layout/affix.js +1 -1
  50. package/dist/components/layout/app-shell.d.ts +1 -1
  51. package/dist/components/layout/app-shell.js +3 -1
  52. package/dist/components/layout/editorial-catalog.d.ts +1 -1
  53. package/dist/components/layout/editorial-catalog.js +53 -15
  54. package/dist/components/layout/index.d.ts +2 -0
  55. package/dist/components/layout/index.js +2 -0
  56. package/dist/components/layout/page-container.d.ts +1 -1
  57. package/dist/components/layout/page-container.js +6 -3
  58. package/dist/components/layout/page-error-boundary.d.ts +32 -0
  59. package/dist/components/layout/page-error-boundary.js +57 -0
  60. package/dist/components/layout/sidebar.d.ts +1 -1
  61. package/dist/components/layout/sidebar.js +100 -49
  62. package/dist/components/layout/topbar.js +108 -21
  63. package/dist/components/navigation/dropdown-menu.d.ts +13 -3
  64. package/dist/components/navigation/dropdown-menu.js +36 -6
  65. package/dist/components/navigation/pagination.d.ts +1 -1
  66. package/dist/components/navigation/pagination.js +13 -1
  67. package/dist/components/navigation/toolbar.js +2 -1
  68. package/dist/contracts/measurement.json +1 -1
  69. package/dist/i18n/messages/en.json +7 -0
  70. package/dist/i18n/messages/ja.json +7 -0
  71. package/dist/i18n/messages/vi.json +7 -0
  72. package/dist/props/components/data-display.prop.d.ts +29 -0
  73. package/dist/props/components/layout.prop.d.ts +52 -2
  74. package/dist/props/components/navigation.prop.d.ts +15 -1
  75. package/dist/props/registry.d.ts +65 -5
  76. package/dist/props/registry.js +90 -4
  77. package/dist/styles/alert-layout.css +4 -0
  78. package/dist/styles/application.css +24 -0
  79. package/dist/styles/badge-layout.css +14 -0
  80. package/dist/styles/base.css +11 -0
  81. package/dist/styles/control.css +32 -19
  82. package/dist/styles/core.css +1 -0
  83. package/dist/styles/data-display-layout.css +51 -0
  84. package/dist/styles/dialog-layout.css +9 -0
  85. package/dist/styles/editorial-layout.css +2076 -0
  86. package/dist/styles/editorial.css +3 -0
  87. package/dist/styles/icon-layout.css +3 -0
  88. package/dist/styles/index.css +1 -0
  89. package/dist/styles/layers.json +60 -9
  90. package/dist/styles/layout.css +9 -1985
  91. package/dist/styles/precompiled/alert-layout.css +2 -0
  92. package/dist/styles/precompiled/badge-layout.css +2 -0
  93. package/dist/styles/precompiled/base.css +2 -0
  94. package/dist/styles/precompiled/card-layout.css +2 -0
  95. package/dist/styles/precompiled/chart-layout.css +2 -0
  96. package/dist/styles/precompiled/control.css +2 -0
  97. package/dist/styles/precompiled/data-display-layout.css +2 -0
  98. package/dist/styles/precompiled/data-entry-layout.css +2 -0
  99. package/dist/styles/precompiled/dialog-layout.css +2 -0
  100. package/dist/styles/precompiled/editorial-account-layout.css +2 -0
  101. package/dist/styles/precompiled/editorial-layout.css +2 -0
  102. package/dist/styles/precompiled/float-button-layout.css +2 -0
  103. package/dist/styles/precompiled/form-layout.css +2 -0
  104. package/dist/styles/precompiled/icon-layout.css +2 -0
  105. package/dist/styles/precompiled/layout.css +2 -0
  106. package/dist/styles/precompiled/logo-layout.css +2 -0
  107. package/dist/styles/precompiled/motion.css +2 -0
  108. package/dist/styles/precompiled/navigation-layout.css +2 -0
  109. package/dist/styles/precompiled/shell-layout.css +2 -0
  110. package/dist/styles/precompiled/table-layout.css +2 -0
  111. package/dist/styles/precompiled/text-layout.css +2 -0
  112. package/dist/styles/precompiled/toggle.css +2 -0
  113. package/dist/styles/precompiled/vendor-day-picker.css +2 -0
  114. package/dist/styles/precompiled/vendor-sonner.css +2 -0
  115. package/dist/styles/shell-layout.css +17 -1
  116. package/dist/styles/table-layout.css +1 -1
  117. package/dist/styles.css +1 -1
  118. package/dist/tokens/components/badge.css +3 -0
  119. package/dist/tokens/components/control.css +3 -0
  120. package/dist/tokens/components/data-display.css +9 -0
  121. package/dist/tokens/components/editorial.css +9 -6
  122. package/dist/tokens/components/shell.css +2 -0
  123. package/dist/tokens/foundation.css +8 -0
  124. package/docs/CONSUMER-RULES.md +36 -1
  125. package/package.json +4 -2
  126. package/scripts/consumer-rule.md +1 -1
  127. package/scripts/prune-css.mjs +56 -8
  128. package/scripts/ui-audit.mjs +36 -0
  129. package/skills/godxjp-ui-navigation/SKILL.md +14 -9
  130. package/skills/godxjp-ui-navigation/references/principles.md +2 -2
@@ -907,6 +907,12 @@
907
907
  max-inline-size: 100%;
908
908
  }
909
909
 
910
+ .ui-page-header-help {
911
+ display: flex;
912
+ flex: none;
913
+ margin-inline-start: auto;
914
+ }
915
+
910
916
  .ui-page-header-title-row {
911
917
  display: flex;
912
918
  flex-wrap: wrap;
@@ -1124,6 +1130,7 @@
1124
1130
  }
1125
1131
 
1126
1132
  .ui-page-subtitle {
1133
+ overflow-wrap: anywhere;
1127
1134
  font-size: var(--page-subtitle-font-size);
1128
1135
  color: hsl(var(--muted-foreground));
1129
1136
  margin-top: var(--space-1);
@@ -1211,6 +1218,8 @@
1211
1218
  }
1212
1219
 
1213
1220
  .ui-breadcrumb-item {
1221
+ min-inline-size: 0;
1222
+ overflow-wrap: anywhere;
1214
1223
  display: inline-flex;
1215
1224
  align-items: center;
1216
1225
  gap: var(--space-inline-xs);
@@ -2546,1989 +2555,4 @@
2546
2555
  gap: var(--responsive-grid-panels-gap);
2547
2556
  }
2548
2557
 
2549
- .ui-editorial-section {
2550
- display: block;
2551
- position: relative;
2552
- }
2553
-
2554
- .ui-editorial-section-content {
2555
- width: calc(100% - 2 * var(--editorial-section-inset-inline));
2556
- max-width: var(--editorial-section-max-width);
2557
- margin-inline: auto;
2558
- }
2559
-
2560
- .ui-editorial-section[data-spacing="section"] > .ui-editorial-section-content {
2561
- padding-block: var(--editorial-section-padding-block);
2562
- }
2563
-
2564
- .ui-editorial-section[data-tone="surface"] {
2565
- background: var(--editorial-section-surface-background, hsl(var(--card)));
2566
- }
2567
-
2568
- .ui-editorial-section[data-tone="subtle"] {
2569
- background: var(--editorial-section-subtle-background, hsl(var(--muted)));
2570
- }
2571
-
2572
- .ui-editorial-section[data-tone="hero"] {
2573
- overflow: hidden;
2574
- background: var(
2575
- --editorial-section-hero-background,
2576
- linear-gradient(110deg, hsl(var(--background)) 35%, hsl(var(--muted)))
2577
- );
2578
- }
2579
-
2580
- .ui-editorial-section[data-divider="end"] {
2581
- border-block-end: var(--editorial-section-border-width) solid
2582
- var(--editorial-section-border-color, hsl(var(--border)));
2583
- }
2584
-
2585
- .ui-editorial-section[data-divider="both"] {
2586
- border-block: var(--editorial-section-border-width) solid
2587
- var(--editorial-section-border-color, hsl(var(--border)));
2588
- }
2589
-
2590
- .ui-editorial-hero {
2591
- display: grid;
2592
- grid-template-columns: var(--editorial-hero-track-size);
2593
- align-items: center;
2594
- gap: var(--editorial-hero-gap);
2595
- min-height: var(--editorial-hero-min-height);
2596
- padding-block: var(--editorial-hero-padding-block-start) var(--editorial-hero-padding-block-end);
2597
- }
2598
-
2599
- .ui-editorial-hero-copy {
2600
- --editorial-eyebrow-align: var(--editorial-hero-copy-align);
2601
- --editorial-eyebrow-letter-spacing: var(--editorial-hero-kicker-letter-spacing);
2602
- position: relative;
2603
- z-index: 2;
2604
- min-width: 0;
2605
- padding-block: var(--editorial-hero-copy-padding-block);
2606
- text-align: var(--editorial-hero-copy-align);
2607
- }
2608
-
2609
- .ui-editorial-hero-title {
2610
- margin: var(--editorial-hero-title-space-block-start) 0
2611
- var(--editorial-hero-title-space-block-end);
2612
- font-family: var(--font-family-editorial, var(--font-family-display));
2613
- font-size: var(--editorial-hero-title-font-size);
2614
- font-weight: var(--editorial-hero-title-font-weight);
2615
- line-height: var(--editorial-hero-title-line-height);
2616
- letter-spacing: var(--editorial-hero-title-letter-spacing);
2617
- }
2618
-
2619
- .ui-editorial-hero-description {
2620
- max-width: var(--editorial-hero-description-max-width);
2621
- margin: 0;
2622
- margin-inline: var(--editorial-hero-copy-space-inline);
2623
- color: hsl(var(--muted-foreground));
2624
- font-size: var(--editorial-hero-description-font-size);
2625
- line-height: var(--editorial-hero-description-line-height);
2626
- }
2627
-
2628
- .ui-editorial-hero-search {
2629
- max-width: var(--editorial-hero-search-max-width);
2630
- margin-block-start: var(--editorial-hero-search-space-block-start);
2631
- margin-inline: var(--editorial-hero-copy-space-inline);
2632
- text-align: start;
2633
- }
2634
-
2635
- .ui-editorial-hero-footer {
2636
- display: flex;
2637
- flex-wrap: wrap;
2638
- align-items: center;
2639
- justify-content: var(--editorial-hero-copy-align);
2640
- gap: var(--editorial-hero-footer-gap);
2641
- margin-block-start: var(--editorial-hero-footer-space-block-start);
2642
- color: hsl(var(--muted-foreground));
2643
- font-size: var(--editorial-hero-footer-font-size);
2644
- }
2645
-
2646
- .ui-editorial-hero-footer a {
2647
- display: inline-flex;
2648
- align-items: center;
2649
- min-height: var(--editorial-hero-footer-link-min-height);
2650
- color: inherit;
2651
- text-decoration-line: underline;
2652
- text-decoration-color: hsl(var(--input));
2653
- text-underline-offset: var(--editorial-hero-footer-link-offset);
2654
- }
2655
-
2656
- .ui-editorial-hero-media {
2657
- position: relative;
2658
- width: 100%;
2659
- min-width: 0;
2660
- max-width: var(--editorial-hero-media-max-width);
2661
- margin-block-start: var(--editorial-hero-media-space-block-start);
2662
- margin-inline: var(--editorial-hero-copy-space-inline);
2663
- }
2664
-
2665
- .ui-editorial-eyebrow {
2666
- display: flex;
2667
- align-items: center;
2668
- justify-content: var(--editorial-eyebrow-align);
2669
- gap: var(--editorial-eyebrow-gap);
2670
- margin: 0;
2671
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
2672
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
2673
- font-size: var(--editorial-eyebrow-font-size);
2674
- font-weight: var(--editorial-eyebrow-font-weight);
2675
- line-height: var(--editorial-eyebrow-line-height);
2676
- letter-spacing: var(--editorial-eyebrow-letter-spacing);
2677
- }
2678
-
2679
- .ui-editorial-eyebrow[data-variant="ruled"]::before {
2680
- content: "";
2681
- width: var(--editorial-eyebrow-rule-width);
2682
- height: var(--editorial-eyebrow-rule-height);
2683
- background: var(--editorial-ornament-color, hsl(var(--border)));
2684
- }
2685
-
2686
- .ui-editorial-section-head {
2687
- display: flex;
2688
- align-items: var(--editorial-section-head-align);
2689
- justify-content: space-between;
2690
- gap: var(--editorial-section-head-gap);
2691
- margin-block-end: var(--editorial-section-head-space-block-end);
2692
- }
2693
-
2694
- .ui-editorial-section-head[data-scale="module"] {
2695
- --editorial-section-head-align: var(--editorial-section-head-module-align);
2696
- --editorial-section-head-space-block-end: var(--editorial-section-head-module-space-block-end);
2697
- --editorial-eyebrow-line-height: var(--editorial-section-head-module-kicker-line-height);
2698
- --editorial-eyebrow-letter-spacing: var(--editorial-section-head-module-kicker-letter-spacing);
2699
- --editorial-section-head-title-font-size: var(--editorial-section-head-module-title-font-size);
2700
- --editorial-section-head-title-line-height: var(
2701
- --editorial-section-head-module-title-line-height
2702
- );
2703
- --editorial-section-head-title-space-block-start: var(
2704
- --editorial-section-head-module-title-space-block-start
2705
- );
2706
-
2707
- --editorial-section-head-description-font-size: var(--editorial-section-head-module-description-font-size);
2708
- --editorial-section-head-description-space-block-start: var(
2709
- --editorial-section-head-module-description-space-block-start
2710
- );
2711
- }
2712
-
2713
- .ui-editorial-section-head-copy {
2714
- min-width: 0;
2715
- }
2716
-
2717
- .ui-editorial-section-head-title {
2718
- margin: var(--editorial-section-head-title-space-block-start) 0 0;
2719
- font-family: var(--font-family-editorial, var(--font-family-display));
2720
- font-size: var(--editorial-section-head-title-font-size);
2721
- font-weight: var(--font-weight-semibold);
2722
- line-height: var(--editorial-section-head-title-line-height);
2723
- letter-spacing: var(--editorial-section-head-title-letter-spacing);
2724
- }
2725
-
2726
- .ui-editorial-section-head-description {
2727
- margin: var(--editorial-section-head-description-space-block-start) 0 0;
2728
- color: hsl(var(--muted-foreground));
2729
- font-size: var(--editorial-section-head-description-font-size);
2730
- }
2731
-
2732
- .ui-editorial-section-head-action {
2733
- flex: none;
2734
- max-width: var(--editorial-section-head-action-max-width);
2735
- margin-block-start: var(--editorial-section-head-action-space-block-start);
2736
- }
2737
-
2738
- .ui-editorial-breadcrumb {
2739
- padding-block-start: var(--editorial-breadcrumb-padding-block-start);
2740
- line-height: var(--editorial-breadcrumb-line-height);
2741
- }
2742
-
2743
- .ui-editorial-breadcrumb .ui-breadcrumb-list {
2744
- column-gap: var(--editorial-breadcrumb-gap);
2745
- }
2746
-
2747
- .ui-editorial-breadcrumb .ui-breadcrumb-item {
2748
- gap: var(--editorial-breadcrumb-gap);
2749
- }
2750
-
2751
- .ui-editorial-page-header-row {
2752
- display: var(--editorial-page-header-row-display);
2753
- align-items: flex-end;
2754
- justify-content: space-between;
2755
- gap: var(--editorial-page-header-row-gap);
2756
- padding-block: var(--editorial-page-header-padding-block-start)
2757
- var(--editorial-page-header-padding-block-end);
2758
- }
2759
-
2760
- .ui-editorial-page-header-copy {
2761
- min-width: 0;
2762
- }
2763
-
2764
- .ui-editorial-page-header-copy:has(> .ui-editorial-page-header-search) {
2765
- flex: 1 1 auto;
2766
- }
2767
-
2768
- .ui-editorial-page-header-search {
2769
- --editorial-search-button-icon-display: var(--editorial-page-header-search-button-icon-display);
2770
- max-width: var(--editorial-page-header-search-max-width);
2771
- margin-block-start: var(--editorial-page-header-search-space-block-start);
2772
- }
2773
-
2774
- .ui-editorial-page-header-copy > .ui-editorial-eyebrow {
2775
- color: var(
2776
- --editorial-page-header-kicker-color,
2777
- var(--editorial-kicker-color, hsl(var(--muted-foreground)))
2778
- );
2779
- font-size: var(--editorial-page-header-kicker-font-size);
2780
- }
2781
-
2782
- .ui-editorial-page-header-title {
2783
- margin: var(--editorial-page-header-title-space-block-start) 0
2784
- var(--editorial-page-header-title-space-block-end);
2785
- font-family: var(--font-family-editorial, var(--font-family-display));
2786
- font-size: var(--editorial-page-header-title-font-size);
2787
- font-weight: var(--font-weight-semibold);
2788
- line-height: var(--editorial-page-header-title-line-height);
2789
- letter-spacing: var(--editorial-page-header-title-letter-spacing);
2790
- text-wrap: balance;
2791
- }
2792
-
2793
- .ui-editorial-page-header .ui-editorial-page-header-title:lang(ja) {
2794
- word-break: var(--editorial-page-header-title-line-breaking);
2795
- }
2796
-
2797
- .ui-editorial-page-header-description {
2798
- max-width: var(--editorial-page-header-description-max-width);
2799
- margin: 0;
2800
- color: hsl(var(--muted-foreground));
2801
- font-size: var(--editorial-page-header-description-font-size);
2802
- line-height: var(--editorial-page-header-description-line-height);
2803
- }
2804
-
2805
- .ui-editorial-page-header-actions {
2806
- flex: none;
2807
- margin-block-start: var(--editorial-page-header-actions-space-block-start);
2808
- }
2809
-
2810
- .ui-editorial-article {
2811
-
2812
- --editorial-text-link-font-size: var(--editorial-article-link-font-size);
2813
- --editorial-text-link-gap: var(--editorial-article-link-gap);
2814
- --editorial-text-link-line-height: var(--editorial-article-link-line-height);
2815
- --editorial-text-link-icon-size: var(--editorial-article-link-icon-size);
2816
- --editorial-text-link-align: start;
2817
- display: block;
2818
- max-width: var(--editorial-article-max-width);
2819
- margin-inline: auto;
2820
- padding-block: var(--editorial-article-padding-block-start)
2821
- var(--editorial-article-padding-block-end);
2822
- }
2823
-
2824
- .ui-editorial-article > .ui-editorial-eyebrow {
2825
- font-size: var(--editorial-article-kicker-font-size);
2826
- margin-block-end: var(--editorial-article-kicker-space-block-end);
2827
- line-height: var(--editorial-article-kicker-line-height);
2828
- }
2829
-
2830
- .ui-editorial-article-title {
2831
- margin: var(--editorial-article-title-space-block) 0;
2832
- font-family: var(--font-family-editorial, var(--font-family-display));
2833
- font-size: var(--editorial-article-title-font-size);
2834
- font-weight: var(--font-weight-semibold);
2835
- line-height: var(--editorial-article-title-line-height);
2836
- letter-spacing: var(--editorial-article-title-letter-spacing);
2837
- }
2838
-
2839
- .ui-editorial-article .ui-editorial-article-title:lang(ja) {
2840
- word-break: var(--editorial-article-title-line-breaking);
2841
- }
2842
-
2843
- .ui-editorial-article-intro {
2844
- margin: 0 0 var(--editorial-article-intro-space-block-end);
2845
- padding-block-end: var(--editorial-article-intro-padding-block-end);
2846
- border-block-end: var(--stroke-hairline) solid hsl(var(--border));
2847
- color: hsl(var(--muted-foreground));
2848
- font-size: var(--editorial-article-intro-font-size);
2849
- line-height: var(--editorial-article-intro-line-height);
2850
- }
2851
-
2852
- .ui-editorial-article-section {
2853
- display: block;
2854
- }
2855
-
2856
- .ui-editorial-article-heading {
2857
- margin: var(--editorial-article-heading-space-block-start) 0
2858
- var(--editorial-article-heading-space-block-end);
2859
- font-family: var(--font-family-editorial, var(--font-family-display));
2860
- font-size: var(--editorial-article-heading-font-size);
2861
- font-weight: var(--font-weight-semibold);
2862
- line-height: var(--editorial-article-heading-line-height);
2863
- letter-spacing: var(--editorial-article-heading-letter-spacing);
2864
- }
2865
-
2866
- .ui-editorial-article-paragraph {
2867
- margin: 0 0 var(--editorial-article-paragraph-space-block-end);
2868
- font-size: var(--editorial-article-paragraph-font-size);
2869
- line-height: var(--editorial-article-paragraph-line-height);
2870
- }
2871
-
2872
- .ui-editorial-note {
2873
- margin-block: var(--editorial-note-space-block);
2874
- padding: var(--editorial-note-padding-block) var(--editorial-note-padding-inline);
2875
- border-inline-start: var(--editorial-note-rule-width) solid
2876
- var(--editorial-ornament-color, hsl(var(--border)));
2877
- background: var(--editorial-note-background, hsl(var(--muted)));
2878
- font-size: var(--editorial-note-font-size);
2879
- }
2880
-
2881
- .ui-editorial-panel {
2882
- display: block;
2883
- min-width: 0;
2884
- padding: var(--editorial-panel-padding);
2885
- border: var(--editorial-panel-border-width) solid hsl(var(--border));
2886
- border-radius: var(--editorial-panel-radius);
2887
- background: var(--editorial-panel-background, hsl(var(--card)));
2888
- }
2889
-
2890
- .ui-editorial-panel-tag {
2891
- display: inline-flex;
2892
- align-items: center;
2893
- min-height: var(--editorial-panel-tag-min-height);
2894
- padding: var(--editorial-panel-tag-padding-block) var(--editorial-panel-tag-padding-inline);
2895
- border: var(--stroke-hairline) solid hsl(var(--border));
2896
- border-radius: var(--editorial-panel-tag-radius);
2897
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
2898
- font-size: var(--editorial-panel-tag-font-size);
2899
- font-weight: var(--editorial-panel-tag-font-weight);
2900
- line-height: var(--editorial-panel-tag-line-height);
2901
- }
2902
-
2903
- .ui-editorial-panel-title {
2904
- margin-block: var(--editorial-panel-title-space-block);
2905
- font-family: var(--font-family-editorial, var(--font-family-display));
2906
- font-size: var(--editorial-panel-title-font-size);
2907
- font-weight: var(--font-weight-semibold);
2908
- line-height: var(--editorial-panel-title-line-height);
2909
- letter-spacing: var(--editorial-article-heading-letter-spacing);
2910
- }
2911
-
2912
- .ui-editorial-panel-list {
2913
- margin-block: var(--editorial-panel-list-space-block);
2914
- margin-inline: 0;
2915
- padding-inline-start: var(--editorial-panel-list-padding-inline-start);
2916
- color: hsl(var(--muted-foreground));
2917
- font-size: var(--editorial-panel-item-font-size);
2918
- list-style: disc;
2919
- }
2920
-
2921
- .ui-editorial-text-link {
2922
- display: inline-flex;
2923
- align-items: center;
2924
- gap: var(--editorial-text-link-gap);
2925
- min-height: var(--editorial-text-link-min-height);
2926
- color: hsl(var(--text-brand, var(--primary)));
2927
- font-size: var(--editorial-text-link-font-size);
2928
- font-weight: var(--editorial-text-link-font-weight);
2929
- line-height: var(--editorial-text-link-line-height);
2930
- text-align: var(--editorial-text-link-align);
2931
- text-decoration: none;
2932
- }
2933
-
2934
- .ui-editorial-text-link:hover {
2935
- text-decoration-line: underline;
2936
- text-underline-offset: var(--editorial-text-link-underline-offset);
2937
- }
2938
-
2939
- .ui-editorial-text-link-icon {
2940
- flex: none;
2941
- width: var(--editorial-text-link-icon-size);
2942
- height: var(--editorial-text-link-icon-size);
2943
- }
2944
-
2945
- .ui-editorial-search {
2946
- display: flex;
2947
- align-items: center;
2948
- gap: var(--editorial-search-gap);
2949
- min-height: var(--editorial-search-min-height);
2950
- padding: var(--editorial-search-padding-block) var(--editorial-search-padding-inline-end)
2951
- var(--editorial-search-padding-block) var(--editorial-search-padding-inline-start);
2952
- border: var(--editorial-search-border-width) solid
2953
- var(--editorial-search-border-color, hsl(var(--input)));
2954
- border-radius: var(--editorial-search-radius);
2955
- background: var(--editorial-search-background, hsl(var(--card)));
2956
- box-shadow: var(--editorial-search-shadow);
2957
- }
2958
-
2959
- .ui-editorial-search-scope {
2960
-
2961
- --control-radius: 0px;
2962
- --control-trigger-radius-start: 0px;
2963
- --control-trigger-radius-end: 0px;
2964
- display: flex;
2965
- flex: none;
2966
- align-self: stretch;
2967
- align-items: stretch;
2968
- max-width: var(--editorial-search-scope-max-width);
2969
- margin-block: calc(-1 * var(--editorial-search-padding-block));
2970
- margin-inline-start: calc(-1 * var(--editorial-search-padding-inline-start));
2971
- border-inline-end: var(--stroke-hairline) solid hsl(var(--border));
2972
- }
2973
-
2974
- .ui-editorial-search-scope .ui-control-trigger {
2975
- --control-height: auto;
2976
- height: auto;
2977
- min-height: 100%;
2978
- max-width: 100%;
2979
- padding-inline: var(--editorial-search-padding-inline-start);
2980
- border: 0;
2981
- border-radius: 0;
2982
- background: transparent;
2983
- box-shadow: none;
2984
- font-size: var(--editorial-search-input-font-size);
2985
- font-weight: var(--editorial-search-scope-font-weight);
2986
- }
2987
-
2988
- .ui-editorial-search-icon {
2989
- flex: none;
2990
- width: var(--editorial-search-icon-size);
2991
- height: var(--editorial-search-icon-size);
2992
- color: hsl(var(--muted-foreground));
2993
- }
2994
-
2995
- .ui-editorial-search-input {
2996
- width: 100%;
2997
- min-width: 0;
2998
- min-height: var(--editorial-search-input-height);
2999
- padding-inline: var(--editorial-search-input-padding-inline);
3000
- border: 0;
3001
- background: transparent;
3002
- color: inherit;
3003
- font: inherit;
3004
- font-size: var(--editorial-search-input-font-size);
3005
- outline-offset: 0;
3006
- }
3007
-
3008
- .ui-editorial-search-input::placeholder {
3009
- color: var(--editorial-search-placeholder-color, hsl(var(--muted-foreground)));
3010
- opacity: 1;
3011
- }
3012
-
3013
- .ui-editorial-search-button {
3014
- display: inline-flex;
3015
- flex: none;
3016
- align-items: center;
3017
- justify-content: center;
3018
- gap: var(--editorial-search-button-gap);
3019
- min-width: var(--editorial-search-button-min-width);
3020
- min-height: var(--editorial-search-button-height);
3021
- padding-inline: var(--editorial-search-button-padding-inline);
3022
- border: var(--stroke-hairline) solid transparent;
3023
- border-radius: var(--editorial-search-button-radius);
3024
- background: hsl(var(--primary));
3025
- color: hsl(var(--primary-foreground));
3026
- font-size: var(--editorial-search-button-font-size);
3027
- font-weight: var(--font-weight-semibold);
3028
- line-height: var(--editorial-search-button-line-height);
3029
- white-space: nowrap;
3030
- cursor: pointer;
3031
- transition: background var(--duration-fast) var(--ease-standard);
3032
- }
3033
-
3034
- .ui-editorial-search-button:hover {
3035
- background: hsl(var(--primary-hover, from hsl(var(--primary)) var(--primary-hover-channels)));
3036
- }
3037
-
3038
- .ui-editorial-search-button-icon {
3039
- display: var(--editorial-search-button-icon-display);
3040
- flex: none;
3041
- width: var(--editorial-search-icon-size);
3042
- height: var(--editorial-search-icon-size);
3043
- }
3044
-
3045
- .ui-editorial-search-popup {
3046
- position: fixed;
3047
-
3048
- z-index: var(--overlay-z-index);
3049
- box-sizing: border-box;
3050
- margin-block-start: var(--editorial-search-popup-offset);
3051
- max-height: min(
3052
- var(--editorial-search-popup-max-height),
3053
- calc(var(--editorial-search-popup-room, 100vh) - 2 * var(--editorial-search-popup-offset))
3054
- );
3055
- overflow-y: auto;
3056
- padding-block: var(--editorial-search-popup-padding-block);
3057
- border: var(--stroke-hairline) solid
3058
- var(--editorial-search-popup-border-color, hsl(var(--border)));
3059
- border-radius: var(--editorial-search-popup-radius);
3060
- background: var(--editorial-search-popup-background, hsl(var(--popover)));
3061
- color: hsl(var(--popover-foreground));
3062
- box-shadow: var(--editorial-search-popup-shadow);
3063
- text-align: start;
3064
- }
3065
-
3066
- .ui-editorial-search-popup[hidden] {
3067
- display: none;
3068
- }
3069
-
3070
- .ui-editorial-search-group + .ui-editorial-search-group,
3071
- .ui-editorial-search-group + .ui-editorial-search-suggestions-footer {
3072
- margin-block-start: var(--editorial-search-popup-padding-block);
3073
- border-block-start: var(--stroke-hairline) solid hsl(var(--border));
3074
- padding-block-start: var(--editorial-search-popup-padding-block);
3075
- }
3076
-
3077
- .ui-editorial-search-group-label {
3078
- padding: var(--editorial-search-group-label-padding-block)
3079
- var(--editorial-search-suggestion-padding-inline);
3080
- color: hsl(var(--muted-foreground));
3081
- font-size: var(--editorial-search-group-label-font-size);
3082
- font-weight: var(--editorial-search-group-label-font-weight);
3083
- letter-spacing: var(--editorial-search-group-label-letter-spacing);
3084
- }
3085
-
3086
- .ui-editorial-search-suggestion,
3087
- .ui-editorial-search-suggestions-footer {
3088
- display: flex;
3089
- align-items: center;
3090
- gap: var(--editorial-search-suggestion-gap);
3091
- min-height: var(--editorial-search-suggestion-min-height);
3092
- padding: var(--editorial-search-suggestion-padding-block)
3093
- var(--editorial-search-suggestion-padding-inline);
3094
- color: inherit;
3095
- font-size: var(--editorial-search-suggestion-font-size);
3096
- text-decoration: none;
3097
- cursor: pointer;
3098
- }
3099
-
3100
- .ui-editorial-search-suggestion:hover,
3101
- .ui-editorial-search-suggestion[aria-selected="true"],
3102
- .ui-editorial-search-suggestions-footer:hover,
3103
- .ui-editorial-search-suggestions-footer[aria-selected="true"] {
3104
- background: var(--editorial-search-suggestion-active-background, hsl(var(--accent)));
3105
- }
3106
-
3107
- .ui-editorial-search-suggestion-media {
3108
- display: inline-flex;
3109
- flex: none;
3110
- align-items: center;
3111
- justify-content: center;
3112
- width: var(--editorial-search-suggestion-media-width);
3113
- height: var(--editorial-search-suggestion-media-height);
3114
- overflow: hidden;
3115
- border-radius: var(--editorial-search-suggestion-media-radius);
3116
- background: var(--editorial-search-suggestion-media-background, hsl(var(--muted)));
3117
- color: hsl(var(--muted-foreground));
3118
- font-size: var(--editorial-search-group-label-font-size);
3119
- font-weight: var(--font-weight-semibold);
3120
- }
3121
-
3122
- .ui-editorial-search-suggestion-media > img {
3123
- width: 100%;
3124
- height: 100%;
3125
- object-fit: contain;
3126
- }
3127
-
3128
- .ui-editorial-search-suggestion-text {
3129
- display: flex;
3130
- flex: 1;
3131
- flex-direction: column;
3132
- min-width: 0;
3133
- }
3134
-
3135
- .ui-editorial-search-suggestion-label,
3136
- .ui-editorial-search-suggestion-description {
3137
- overflow: hidden;
3138
- text-overflow: ellipsis;
3139
- white-space: nowrap;
3140
- }
3141
-
3142
- .ui-editorial-search-suggestion-description {
3143
- color: hsl(var(--muted-foreground));
3144
- font-size: var(--editorial-search-suggestion-description-font-size);
3145
- }
3146
-
3147
- .ui-editorial-search-suggestion-meta {
3148
- flex: none;
3149
- font-variant-numeric: tabular-nums;
3150
- font-weight: var(--font-weight-semibold);
3151
- }
3152
-
3153
- .ui-editorial-search-suggestions-footer {
3154
- font-weight: var(--font-weight-semibold);
3155
- }
3156
-
3157
- .ui-editorial-search-suggestions-footer-icon {
3158
- flex: none;
3159
- width: var(--editorial-search-icon-size);
3160
- height: var(--editorial-search-icon-size);
3161
- }
3162
-
3163
- .ui-editorial-pill-nav {
3164
- display: flex;
3165
- align-items: center;
3166
- gap: var(--editorial-pill-nav-gap);
3167
- min-height: var(--editorial-pill-nav-min-height);
3168
- overflow-x: auto;
3169
- scrollbar-width: none;
3170
- }
3171
-
3172
- .ui-editorial-pill-nav-label {
3173
- display: var(--editorial-pill-nav-label-display);
3174
- flex: none;
3175
- margin-inline-end: var(--editorial-pill-nav-label-space-inline-end);
3176
- color: hsl(var(--muted-foreground));
3177
- font-size: var(--editorial-pill-nav-label-font-size);
3178
- white-space: nowrap;
3179
- }
3180
-
3181
- .ui-editorial-pill {
3182
- display: inline-flex;
3183
- flex: none;
3184
- align-items: center;
3185
- gap: var(--editorial-pill-gap);
3186
- min-height: var(--editorial-pill-min-height);
3187
- padding: var(--editorial-pill-padding-block) var(--editorial-pill-padding-inline);
3188
- border: var(--stroke-hairline) solid transparent;
3189
- border-radius: var(--editorial-pill-radius);
3190
- color: inherit;
3191
- font-size: var(--editorial-pill-font-size);
3192
- text-decoration: none;
3193
- white-space: nowrap;
3194
- }
3195
-
3196
- .ui-editorial-pill:hover {
3197
- background: hsl(var(--muted));
3198
- }
3199
-
3200
- .ui-editorial-pill[aria-current]:not([aria-current="false"]) {
3201
- border-color: hsl(var(--primary) / 0.25);
3202
- background: hsl(var(--accent));
3203
- color: hsl(var(--text-brand, var(--primary)));
3204
- }
3205
-
3206
- .ui-editorial-pill-dot {
3207
- flex: none;
3208
- width: var(--editorial-pill-dot-size);
3209
- height: var(--editorial-pill-dot-size);
3210
- border-radius: var(--editorial-pill-dot-radius);
3211
- background: var(
3212
- --editorial-pill-dot-color,
3213
- var(--editorial-ornament-color, hsl(var(--border)))
3214
- );
3215
- }
3216
-
3217
- .ui-editorial-pill-icon {
3218
- display: inline-flex;
3219
- flex: none;
3220
- }
3221
-
3222
- .ui-editorial-pill-icon > svg {
3223
- width: var(--editorial-pill-icon-size);
3224
- height: var(--editorial-pill-icon-size);
3225
- }
3226
-
3227
- .ui-card-showcase[data-preset="fan"] {
3228
- position: relative;
3229
- isolation: isolate;
3230
- min-width: 0;
3231
- height: var(--editorial-showcase-height);
3232
- }
3233
-
3234
- .ui-card-showcase-orbit {
3235
- position: absolute;
3236
- top: var(--editorial-showcase-orbit-inset-block-start);
3237
- inset-inline-start: 50%;
3238
- width: var(--editorial-showcase-orbit-size-1);
3239
- height: var(--editorial-showcase-orbit-size-1);
3240
- border: var(--stroke-hairline) solid
3241
- color-mix(
3242
- in srgb,
3243
- var(--editorial-ornament-color, hsl(var(--border)))
3244
- calc(var(--editorial-showcase-orbit-alpha) * 100%),
3245
- transparent
3246
- );
3247
- border-radius: 50%;
3248
- transform: translate(-50%, -50%);
3249
- }
3250
-
3251
- .ui-card-showcase-orbit:dir(rtl) {
3252
- transform: translate(50%, -50%);
3253
- }
3254
-
3255
- .ui-card-showcase-orbit[data-orbit="2"] {
3256
- width: var(--editorial-showcase-orbit-size-2);
3257
- height: var(--editorial-showcase-orbit-size-2);
3258
- }
3259
-
3260
- .ui-card-showcase-orbit[data-orbit="3"] {
3261
- width: var(--editorial-showcase-orbit-size-3);
3262
- height: var(--editorial-showcase-orbit-size-3);
3263
- }
3264
-
3265
- .ui-card-showcase-glow {
3266
- position: absolute;
3267
- z-index: -1;
3268
- inset-inline-end: 5%;
3269
- bottom: var(--editorial-showcase-glow-inset-block-end);
3270
- inset-inline-start: 10%;
3271
- height: var(--editorial-showcase-glow-height);
3272
- border-radius: 50%;
3273
- background: var(--editorial-ornament-color, hsl(var(--border)));
3274
- opacity: var(--editorial-showcase-glow-alpha);
3275
- filter: blur(18px);
3276
- }
3277
-
3278
- .ui-card-showcase-label {
3279
- display: var(--editorial-showcase-label-display);
3280
- position: absolute;
3281
- top: var(--editorial-showcase-label-inset-block-start);
3282
- inset-inline-end: var(--editorial-showcase-label-inset-inline-end);
3283
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
3284
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
3285
- font-size: var(--editorial-showcase-label-font-size);
3286
- letter-spacing: var(--editorial-showcase-label-letter-spacing);
3287
- }
3288
-
3289
- .ui-card-showcase-star {
3290
- position: absolute;
3291
- top: var(--editorial-showcase-star-inset-block-start);
3292
- inset-inline-start: var(--editorial-showcase-star-inset-inline-start);
3293
- color: var(--editorial-ornament-color, hsl(var(--border)));
3294
- font-family: serif;
3295
- font-size: var(--editorial-showcase-star-font-size);
3296
- }
3297
-
3298
- .ui-card-showcase-star[data-size="small"] {
3299
- top: auto;
3300
- inset-inline-end: var(--editorial-showcase-star-small-inset-inline-end);
3301
- bottom: var(--editorial-showcase-star-small-inset-block-end);
3302
- inset-inline-start: auto;
3303
- font-size: var(--editorial-showcase-star-small-font-size);
3304
- }
3305
-
3306
- .ui-card-showcase-card {
3307
- display: block;
3308
- position: absolute;
3309
- top: var(--editorial-showcase-start-inset-block-start);
3310
- width: var(--editorial-showcase-card-width);
3311
- filter: drop-shadow(var(--editorial-showcase-card-shadow));
3312
- transition: transform var(--duration-slow) var(--ease-standard);
3313
- }
3314
-
3315
- .ui-card-showcase-card > * {
3316
- display: block;
3317
- }
3318
-
3319
- .ui-card-showcase-card img {
3320
- display: block;
3321
- width: 100%;
3322
- height: auto;
3323
- border-radius: var(--editorial-showcase-card-radius);
3324
- }
3325
-
3326
- .ui-card-showcase-card[data-position="start"] {
3327
- inset-inline-start: var(--editorial-showcase-start-inset-inline-start);
3328
- transform: rotate(var(--editorial-showcase-start-offset-angle));
3329
- }
3330
-
3331
- .ui-card-showcase-card[data-position="end"] {
3332
- top: var(--editorial-showcase-end-inset-block-start);
3333
- inset-inline-end: var(--editorial-showcase-end-inset-inline-end);
3334
- transform: rotate(var(--editorial-showcase-end-offset-angle));
3335
- }
3336
-
3337
- .ui-card-showcase-card[data-position="center"] {
3338
- z-index: 2;
3339
- top: var(--editorial-showcase-center-inset-block-start);
3340
- inset-inline-start: calc(50% + var(--editorial-showcase-center-offset-inline));
3341
- width: var(--editorial-showcase-center-width);
3342
- transform: rotate(var(--editorial-showcase-center-offset-angle));
3343
- }
3344
-
3345
- .ui-card-showcase-card:hover {
3346
- transform: translateY(var(--editorial-showcase-card-hover-translate)) rotate(0);
3347
- }
3348
-
3349
- .ui-card-showcase-caption {
3350
- display: flex;
3351
- position: absolute;
3352
- z-index: 4;
3353
- inset-inline-end: var(--editorial-showcase-caption-inset-inline-end);
3354
- bottom: var(--editorial-showcase-caption-inset-block-end);
3355
- align-items: center;
3356
- justify-content: var(--editorial-showcase-caption-align);
3357
- gap: var(--editorial-showcase-caption-gap);
3358
- min-width: var(--editorial-showcase-caption-min-width);
3359
- padding: var(--editorial-showcase-caption-padding-block)
3360
- var(--editorial-showcase-caption-padding-inline);
3361
- border: var(--stroke-hairline) solid hsl(var(--border));
3362
- border-radius: var(--editorial-showcase-caption-radius);
3363
- background: hsl(var(--card));
3364
- box-shadow: var(--editorial-showcase-caption-shadow);
3365
- }
3366
-
3367
- .ui-card-showcase-caption-icon {
3368
- display: var(--editorial-showcase-caption-icon-display);
3369
- flex: none;
3370
- width: var(--editorial-showcase-caption-icon-size);
3371
- height: var(--editorial-showcase-caption-icon-size);
3372
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
3373
- }
3374
-
3375
- .ui-card-showcase-caption-icon > svg {
3376
- width: 100%;
3377
- height: 100%;
3378
- }
3379
-
3380
- .ui-card-showcase-caption-overline {
3381
- display: block;
3382
- color: hsl(var(--muted-foreground));
3383
- font-size: var(--editorial-showcase-caption-overline-font-size);
3384
- }
3385
-
3386
- .ui-card-showcase-caption-title {
3387
- font-size: var(--editorial-showcase-caption-title-font-size);
3388
- font-weight: var(--font-weight-semibold);
3389
- }
3390
-
3391
- .ui-card-showcase[data-preset="binder"] {
3392
- display: grid;
3393
- position: relative;
3394
- grid-template-columns: repeat(3, minmax(0, 1fr));
3395
- gap: var(--editorial-binder-gap);
3396
- width: 100%;
3397
- max-width: var(--editorial-binder-max-width);
3398
- padding: var(--editorial-binder-padding);
3399
- border: var(--stroke-hairline) solid
3400
- var(--editorial-binder-border-color, hsl(var(--background) / 0.4));
3401
- border-radius: var(--editorial-binder-radius);
3402
- background: var(--editorial-binder-background, hsl(var(--background) / 0.1));
3403
- box-shadow: var(--editorial-binder-shadow);
3404
- transform: rotate(var(--editorial-binder-offset-angle));
3405
- }
3406
-
3407
- .ui-card-showcase-pocket {
3408
- display: block;
3409
- min-width: 0;
3410
- }
3411
-
3412
- .ui-card-showcase-pocket img {
3413
- display: block;
3414
- width: 100%;
3415
- height: var(--editorial-binder-pocket-height);
3416
- padding: var(--editorial-binder-pocket-padding);
3417
- border: var(--stroke-hairline) solid rgb(255 255 255 / 0.15);
3418
- border-radius: var(--editorial-binder-pocket-radius);
3419
- background: rgb(255 255 255 / 0.05);
3420
- object-fit: contain;
3421
- }
3422
-
3423
- .ui-editorial-banner {
3424
-
3425
- --editorial-kicker-color: var(--editorial-banner-kicker-color, currentColor);
3426
- display: grid;
3427
- position: relative;
3428
- grid-template-columns: var(--editorial-banner-track-size);
3429
- align-items: center;
3430
- gap: var(--editorial-banner-gap);
3431
- padding: var(--editorial-banner-padding-block) var(--editorial-banner-padding-inline);
3432
- overflow: hidden;
3433
- border-radius: var(--editorial-banner-radius);
3434
- background: var(--editorial-banner-background, hsl(var(--foreground)));
3435
- color: var(--editorial-banner-foreground, hsl(var(--background)));
3436
- }
3437
-
3438
- .ui-editorial-banner-copy {
3439
- min-width: 0;
3440
- }
3441
-
3442
- .ui-editorial-banner-title {
3443
- margin: var(--editorial-banner-title-space-block) 0;
3444
- font-family: var(--font-family-editorial, var(--font-family-display));
3445
- font-size: var(--editorial-banner-title-font-size);
3446
- font-weight: var(--font-weight-semibold);
3447
- line-height: var(--editorial-section-head-title-line-height);
3448
- letter-spacing: var(--editorial-section-head-title-letter-spacing);
3449
- }
3450
-
3451
- .ui-editorial-banner-description {
3452
- max-width: var(--editorial-banner-description-max-width);
3453
- margin: 0;
3454
- color: var(--editorial-banner-muted-foreground, currentColor);
3455
- font-size: var(--editorial-banner-description-font-size);
3456
- line-height: var(--editorial-banner-description-line-height);
3457
- }
3458
-
3459
- .ui-editorial-banner-action {
3460
- --primary: var(--editorial-banner-action-background, var(--background));
3461
- --primary-hover: var(--editorial-banner-action-hover-background, var(--background));
3462
- --primary-foreground: var(--editorial-banner-action-foreground, var(--foreground));
3463
- --ring: var(--editorial-banner-action-background, var(--background));
3464
- --focus-ring-color: var(--ring);
3465
- margin-block-start: var(--editorial-banner-action-space-block-start);
3466
- }
3467
-
3468
- .ui-editorial-banner-action > * {
3469
- width: var(--editorial-banner-action-width);
3470
- }
3471
-
3472
- .ui-editorial-banner-media {
3473
- display: flex;
3474
- min-width: 0;
3475
- justify-content: var(--editorial-banner-media-align);
3476
- }
3477
-
3478
- .ui-catalog-card {
3479
- position: relative;
3480
- min-width: 0;
3481
- overflow: hidden;
3482
- border: var(--stroke-hairline) solid hsl(var(--border));
3483
- border-radius: var(--editorial-catalog-card-radius);
3484
- background: hsl(var(--card));
3485
- transition:
3486
- box-shadow var(--duration-base) var(--ease-standard),
3487
- transform var(--duration-base) var(--ease-standard);
3488
- }
3489
-
3490
- .ui-catalog-card:hover {
3491
- box-shadow: var(--editorial-catalog-card-hover-shadow);
3492
- transform: translateY(var(--editorial-catalog-card-hover-translate));
3493
- }
3494
-
3495
- .ui-catalog-card-favorite {
3496
- display: inline-flex;
3497
- position: absolute;
3498
- z-index: 2;
3499
- top: var(--editorial-catalog-card-favorite-inset);
3500
- inset-inline-end: var(--editorial-catalog-card-favorite-inset);
3501
- align-items: center;
3502
- justify-content: center;
3503
- width: var(--editorial-catalog-card-favorite-size);
3504
- height: var(--editorial-catalog-card-favorite-size);
3505
- border: var(--editorial-catalog-card-favorite-border-width) solid hsl(var(--border));
3506
- border-radius: 50%;
3507
- background: var(--editorial-catalog-card-favorite-background, hsl(var(--card)));
3508
- color: inherit;
3509
- cursor: pointer;
3510
- }
3511
-
3512
- .ui-catalog-card-favorite:disabled {
3513
- cursor: default;
3514
- opacity: 0.5;
3515
- }
3516
-
3517
- .ui-catalog-card-favorite[aria-pressed="true"] {
3518
- background: hsl(var(--accent));
3519
- color: hsl(var(--text-brand, var(--primary)));
3520
- }
3521
-
3522
- .ui-catalog-card-favorite-icon {
3523
- width: var(--editorial-catalog-card-favorite-icon-size);
3524
- height: var(--editorial-catalog-card-favorite-icon-size);
3525
- }
3526
-
3527
- .ui-catalog-card-favorite[aria-pressed="true"] .ui-catalog-card-favorite-icon {
3528
- fill: currentColor;
3529
- }
3530
-
3531
- .ui-catalog-card-media {
3532
- display: flex;
3533
- position: relative;
3534
- align-items: center;
3535
- justify-content: center;
3536
- aspect-ratio: var(--editorial-catalog-card-media-aspect-size);
3537
- padding: var(--editorial-catalog-card-media-padding-block-start)
3538
- var(--editorial-catalog-card-media-padding-inline)
3539
- var(--editorial-catalog-card-media-padding-block-end);
3540
- background: hsl(var(--muted));
3541
- }
3542
-
3543
- .ui-catalog-card-media > * {
3544
- display: flex;
3545
- width: 100%;
3546
- height: 100%;
3547
- min-height: 0;
3548
- align-items: center;
3549
- justify-content: center;
3550
- }
3551
-
3552
- .ui-catalog-card-media img {
3553
- width: 100%;
3554
- height: 100%;
3555
- border-radius: var(--editorial-catalog-card-media-radius);
3556
- object-fit: contain;
3557
- filter: drop-shadow(var(--editorial-catalog-card-media-shadow));
3558
- }
3559
-
3560
- .ui-catalog-card[data-variant="sealed"] .ui-catalog-card-media {
3561
- aspect-ratio: var(--editorial-catalog-card-sealed-aspect-size);
3562
- padding: var(--editorial-catalog-card-sealed-padding);
3563
- }
3564
-
3565
- .ui-catalog-card[data-variant="sealed"] .ui-catalog-card-media img {
3566
- filter: none;
3567
- }
3568
-
3569
- .ui-catalog-card-body {
3570
- padding: var(--editorial-catalog-card-body-padding-block-start)
3571
- var(--editorial-catalog-card-body-padding-inline) 0;
3572
- }
3573
-
3574
- .ui-catalog-card-overline {
3575
- display: flex;
3576
- align-items: center;
3577
- min-height: var(--editorial-catalog-card-overline-min-height);
3578
- margin: 0;
3579
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
3580
- font-size: var(--editorial-catalog-card-overline-font-size);
3581
- line-height: var(--editorial-catalog-card-overline-line-height);
3582
- }
3583
-
3584
- .ui-catalog-card-title {
3585
- display: -webkit-box;
3586
- min-height: var(--editorial-catalog-card-title-min-height);
3587
- margin: var(--editorial-catalog-card-title-space-block-start) 0
3588
- var(--editorial-catalog-card-title-space-block-end);
3589
- overflow: hidden;
3590
- font-size: var(--editorial-catalog-card-title-font-size);
3591
- font-weight: var(--font-weight-semibold);
3592
- line-height: var(--editorial-catalog-card-title-line-height);
3593
- -webkit-box-orient: vertical;
3594
- -webkit-line-clamp: 2;
3595
- }
3596
-
3597
- .ui-catalog-card-title a {
3598
- color: inherit;
3599
- text-decoration: none;
3600
- }
3601
-
3602
- .ui-catalog-card-title a:hover {
3603
- color: hsl(var(--text-brand, var(--primary)));
3604
- }
3605
-
3606
- .ui-catalog-card-meta {
3607
- display: flex;
3608
- flex-wrap: wrap;
3609
- align-content: flex-start;
3610
- align-items: center;
3611
- gap: var(--editorial-catalog-card-meta-gap);
3612
- min-height: var(--editorial-catalog-card-meta-min-height);
3613
- color: hsl(var(--muted-foreground));
3614
- font-size: var(--editorial-catalog-card-meta-font-size);
3615
- line-height: var(--editorial-catalog-card-meta-line-height);
3616
- }
3617
-
3618
- .ui-catalog-card-tag {
3619
- padding: var(--stroke-hairline) var(--editorial-catalog-card-tag-padding-inline);
3620
- border: var(--stroke-hairline) solid hsl(var(--border));
3621
- border-radius: var(--editorial-catalog-card-tag-radius);
3622
- color: hsl(var(--foreground));
3623
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
3624
- font-size: var(--editorial-catalog-card-tag-font-size);
3625
- font-weight: var(--font-weight-semibold);
3626
- line-height: var(--editorial-catalog-card-tag-line-height);
3627
- }
3628
-
3629
- .ui-catalog-card-price-label {
3630
- display: -webkit-box;
3631
- overflow: hidden;
3632
- -webkit-box-orient: vertical;
3633
-
3634
- -webkit-line-clamp: var(--editorial-catalog-card-price-label-line-clamp);
3635
- min-height: var(--editorial-catalog-card-price-label-min-height);
3636
- margin: var(--editorial-catalog-card-price-label-space-block-start) 0 0;
3637
- color: hsl(var(--muted-foreground));
3638
- font-size: var(--editorial-catalog-card-price-label-font-size);
3639
- }
3640
-
3641
- .ui-catalog-card-price-line {
3642
- display: var(--editorial-catalog-card-price-line-display);
3643
- flex-wrap: wrap;
3644
- align-items: baseline;
3645
- justify-content: space-between;
3646
- gap: var(--editorial-catalog-card-price-line-gap);
3647
- }
3648
-
3649
- .ui-catalog-card-price {
3650
- color: hsl(var(--text-brand, var(--primary)));
3651
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
3652
- font-size: var(--editorial-catalog-card-price-font-size);
3653
- font-variant-numeric: tabular-nums;
3654
- font-weight: var(--font-weight-semibold);
3655
- line-height: var(--editorial-catalog-card-price-line-height);
3656
- white-space: nowrap;
3657
- }
3658
-
3659
- .ui-catalog-card-price small {
3660
- margin-inline-start: var(--editorial-catalog-card-price-suffix-space-inline-start);
3661
- font-size: var(--editorial-catalog-card-price-suffix-font-size);
3662
- }
3663
-
3664
- .ui-catalog-card-change {
3665
- display: var(--editorial-catalog-card-change-display);
3666
- margin-block-start: var(--editorial-catalog-card-change-space-block-start);
3667
- font-size: var(--editorial-catalog-card-change-font-size);
3668
- font-weight: var(--font-weight-medium);
3669
- line-height: var(--editorial-catalog-card-change-line-height);
3670
- white-space: nowrap;
3671
- }
3672
-
3673
- .ui-catalog-card-footer {
3674
- display: flex;
3675
- flex-wrap: wrap;
3676
- align-items: center;
3677
- justify-content: space-between;
3678
- gap: var(--editorial-catalog-card-footer-gap);
3679
- margin-block-start: var(--editorial-catalog-card-footer-space-block-start);
3680
- padding-block: var(--editorial-catalog-card-footer-padding-block);
3681
- border-block-start: var(--stroke-hairline) solid hsl(var(--border));
3682
- font-size: var(--editorial-catalog-card-footer-font-size);
3683
- }
3684
-
3685
- .ui-catalog-card-footer a {
3686
- display: inline-flex;
3687
- align-items: center;
3688
- gap: var(--editorial-catalog-card-footer-link-gap);
3689
- min-height: var(--editorial-catalog-card-footer-link-min-height);
3690
- color: hsl(var(--text-brand, var(--primary)));
3691
- text-decoration: none;
3692
- }
3693
-
3694
- .ui-catalog-card-footer svg {
3695
- width: var(--editorial-catalog-card-footer-icon-size);
3696
- height: var(--editorial-catalog-card-footer-icon-size);
3697
- }
3698
-
3699
- .ui-editorial-card[data-variant="spotlight"] {
3700
- display: grid;
3701
- grid-template-columns: var(--editorial-spotlight-track-size);
3702
- align-items: center;
3703
- min-height: var(--editorial-spotlight-min-height);
3704
- overflow: hidden;
3705
- border: var(--stroke-hairline) solid hsl(var(--border));
3706
- border-radius: var(--editorial-catalog-card-radius);
3707
- background: hsl(var(--card));
3708
- color: inherit;
3709
- text-decoration: none;
3710
- transition: box-shadow var(--duration-base) var(--ease-standard);
3711
- }
3712
-
3713
- .ui-editorial-card[data-variant="spotlight"]:hover {
3714
- box-shadow: var(--editorial-spotlight-hover-shadow);
3715
- }
3716
-
3717
- .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-copy {
3718
- min-width: 0;
3719
- padding: var(--editorial-spotlight-padding-block) var(--editorial-spotlight-padding-inline);
3720
- }
3721
-
3722
- .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-overline {
3723
- display: block;
3724
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
3725
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
3726
- font-size: var(--editorial-spotlight-overline-font-size);
3727
- font-weight: var(--font-weight-semibold);
3728
- line-height: var(--editorial-eyebrow-line-height);
3729
- letter-spacing: var(--editorial-spotlight-overline-letter-spacing);
3730
- }
3731
-
3732
- .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-title {
3733
- margin-block: var(--editorial-spotlight-title-space-block);
3734
- font-family: var(--font-family-editorial, var(--font-family-display));
3735
- font-size: var(--editorial-spotlight-title-font-size);
3736
- font-weight: var(--font-weight-semibold);
3737
- line-height: var(--editorial-spotlight-title-line-height);
3738
- }
3739
-
3740
- .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-description {
3741
- margin: 0;
3742
- color: hsl(var(--muted-foreground));
3743
- font-size: var(--editorial-spotlight-description-font-size);
3744
- }
3745
-
3746
- .ui-editorial-card-description-icon {
3747
- display: inline;
3748
- width: var(--editorial-spotlight-description-icon-size);
3749
- height: var(--editorial-spotlight-description-icon-size);
3750
- vertical-align: middle;
3751
- }
3752
-
3753
- .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-media {
3754
- position: relative;
3755
- height: 100%;
3756
- overflow: hidden;
3757
- background: linear-gradient(135deg, hsl(var(--muted)), hsl(var(--background)));
3758
- }
3759
-
3760
- .ui-editorial-card[data-variant="spotlight"] .ui-editorial-card-media img {
3761
- position: absolute;
3762
- top: var(--editorial-spotlight-media-inset-block-start);
3763
- inset-inline-start: var(--editorial-spotlight-media-inset-inline-start);
3764
- width: var(--editorial-spotlight-media-width);
3765
- height: var(--editorial-spotlight-media-height);
3766
- object-fit: contain;
3767
- filter: drop-shadow(var(--editorial-spotlight-media-shadow));
3768
- transform: rotate(var(--editorial-spotlight-media-offset-angle));
3769
- }
3770
-
3771
- .ui-editorial-card[data-variant="journal"] {
3772
- min-width: 0;
3773
- overflow: hidden;
3774
- border: var(--stroke-hairline) solid hsl(var(--border));
3775
- border-radius: var(--editorial-catalog-card-radius);
3776
- background: hsl(var(--card));
3777
- transition:
3778
- border-color var(--duration-base) var(--ease-standard),
3779
- box-shadow var(--duration-base) var(--ease-standard),
3780
- transform var(--duration-base) var(--ease-standard);
3781
- }
3782
-
3783
- .ui-editorial-card[data-variant="journal"]:hover {
3784
- border-color: color-mix(
3785
- in srgb,
3786
- var(--editorial-ornament-color, hsl(var(--border))),
3787
- hsl(var(--border)) 45%
3788
- );
3789
- box-shadow: var(--editorial-journal-hover-shadow);
3790
- transform: translateY(var(--editorial-catalog-card-hover-translate));
3791
- }
3792
-
3793
- .ui-editorial-card-link {
3794
- display: flex;
3795
- flex-direction: column;
3796
- height: 100%;
3797
- color: hsl(var(--foreground));
3798
- text-decoration: none;
3799
- }
3800
-
3801
- .ui-editorial-card[data-variant="journal"] .ui-editorial-card-media {
3802
- display: block;
3803
- position: relative;
3804
- isolation: isolate;
3805
- width: 100%;
3806
- height: var(--editorial-journal-cover-height);
3807
- overflow: hidden;
3808
- border-block-end: var(--stroke-hairline) solid hsl(var(--border));
3809
- background: var(--editorial-journal-cover-background, hsl(var(--muted)));
3810
- }
3811
-
3812
- .ui-editorial-card[data-variant="journal"] .ui-editorial-card-media img {
3813
- display: block;
3814
- width: 100%;
3815
- height: 100%;
3816
- object-fit: var(--editorial-journal-cover-image-size);
3817
- object-position: var(--editorial-journal-cover-image-align);
3818
- }
3819
-
3820
- .ui-editorial-card[data-variant="journal"] .ui-editorial-card-copy {
3821
- display: flex;
3822
- flex: 1;
3823
- flex-direction: column;
3824
- padding: var(--editorial-journal-padding-block-start) var(--editorial-journal-padding-inline)
3825
- var(--editorial-journal-padding-block-end);
3826
- }
3827
-
3828
- .ui-editorial-card[data-variant="journal"] .ui-editorial-card-overline {
3829
- align-self: flex-start;
3830
- color: var(--editorial-kicker-color, hsl(var(--muted-foreground)));
3831
- font-size: var(--editorial-journal-category-font-size);
3832
- font-weight: var(--font-weight-semibold);
3833
- line-height: var(--editorial-journal-category-line-height);
3834
- letter-spacing: var(--editorial-journal-category-letter-spacing);
3835
- }
3836
-
3837
- .ui-editorial-card[data-variant="journal"] .ui-editorial-card-title {
3838
- min-height: var(--editorial-journal-title-min-height);
3839
- margin: var(--editorial-journal-title-space-block-start) 0
3840
- var(--editorial-journal-title-space-block-end);
3841
- font-family: var(--font-family-editorial, var(--font-family-display));
3842
- font-size: var(--editorial-journal-title-font-size);
3843
- font-weight: var(--font-weight-semibold);
3844
- line-height: var(--editorial-journal-title-line-height);
3845
- letter-spacing: var(--editorial-journal-title-letter-spacing);
3846
- line-break: strict;
3847
- overflow-wrap: break-word;
3848
- text-wrap: balance;
3849
- }
3850
-
3851
- .ui-editorial-card[data-variant="journal"] .ui-editorial-card-description {
3852
- display: -webkit-box;
3853
- margin: 0 0 var(--editorial-journal-description-space-block-end);
3854
- overflow: hidden;
3855
- color: hsl(var(--muted-foreground));
3856
- font-size: var(--editorial-journal-description-font-size);
3857
- line-height: var(--editorial-journal-description-line-height);
3858
- -webkit-box-orient: vertical;
3859
- -webkit-line-clamp: 2;
3860
- }
3861
-
3862
- .ui-editorial-card-footer {
3863
- display: flex;
3864
- align-items: center;
3865
- justify-content: space-between;
3866
- gap: var(--editorial-journal-footer-gap);
3867
- min-height: var(--editorial-journal-footer-min-height);
3868
- margin-block-start: auto;
3869
- padding-block-start: var(--editorial-journal-footer-padding-block-start);
3870
- border-block-start: var(--stroke-hairline) solid hsl(var(--border));
3871
- color: hsl(var(--text-brand, var(--primary)));
3872
- font-size: var(--editorial-journal-footer-font-size);
3873
- font-weight: var(--font-weight-semibold);
3874
- }
3875
-
3876
- .ui-editorial-card-arrow {
3877
- display: grid;
3878
- place-items: center;
3879
- width: var(--editorial-journal-arrow-size);
3880
- height: var(--editorial-journal-arrow-size);
3881
- border-radius: 50%;
3882
- background: hsl(var(--muted));
3883
- transition:
3884
- background var(--duration-base) var(--ease-standard),
3885
- color var(--duration-base) var(--ease-standard);
3886
- }
3887
-
3888
- .ui-editorial-card-arrow-icon {
3889
- width: var(--editorial-journal-arrow-icon-size);
3890
- height: var(--editorial-journal-arrow-icon-size);
3891
- }
3892
-
3893
- .ui-editorial-card[data-variant="journal"]:hover .ui-editorial-card-arrow {
3894
- background: hsl(var(--primary));
3895
- color: hsl(var(--primary-foreground));
3896
- }
3897
-
3898
- .ui-centered-shell-bar:has(> .ui-editorial-masthead) {
3899
- position: sticky;
3900
- z-index: 30;
3901
- top: 0;
3902
- min-height: 0;
3903
- background: var(--editorial-masthead-background, hsl(var(--background) / 0.97));
3904
- background-image: none;
3905
- backdrop-filter: blur(var(--editorial-masthead-backdrop-blur-size));
3906
- }
3907
-
3908
- .ui-editorial-masthead {
3909
- display: flex;
3910
- align-items: center;
3911
- gap: var(--editorial-masthead-gap);
3912
- width: 100%;
3913
- height: var(--editorial-masthead-height);
3914
- }
3915
-
3916
- .ui-editorial-masthead-brand {
3917
- flex: none;
3918
- }
3919
-
3920
- .ui-editorial-masthead-brand > * {
3921
- display: block;
3922
- padding-block: var(--editorial-masthead-brand-padding-block);
3923
- }
3924
-
3925
- .ui-editorial-masthead-brand img {
3926
- display: block;
3927
- width: var(--editorial-masthead-logo-width);
3928
- height: auto;
3929
- }
3930
-
3931
- .ui-editorial-masthead-nav {
3932
- display: var(--editorial-masthead-nav-display);
3933
- align-items: center;
3934
- align-self: stretch;
3935
- gap: var(--editorial-masthead-nav-gap);
3936
- margin-inline-start: var(--editorial-masthead-nav-space-inline-start);
3937
- }
3938
-
3939
- .ui-editorial-masthead-link {
3940
- display: flex;
3941
- position: relative;
3942
- align-items: center;
3943
- color: inherit;
3944
- font-size: var(--editorial-masthead-link-font-size);
3945
- font-weight: var(--font-weight-medium);
3946
- text-decoration: none;
3947
- white-space: nowrap;
3948
- }
3949
-
3950
- .ui-editorial-masthead-link:hover,
3951
- .ui-editorial-masthead-link[aria-current="page"] {
3952
- color: hsl(var(--text-brand, var(--primary)));
3953
- }
3954
-
3955
- .ui-editorial-masthead-link[aria-current="page"]::after {
3956
- content: "";
3957
- position: absolute;
3958
- inset-inline: 0;
3959
- bottom: 0;
3960
- height: var(--editorial-masthead-indicator-size);
3961
- background: hsl(var(--primary));
3962
- }
3963
-
3964
- .ui-editorial-masthead-actions {
3965
- display: flex;
3966
- align-items: center;
3967
- gap: var(--editorial-masthead-actions-gap);
3968
- margin-inline-start: auto;
3969
- }
3970
-
3971
- .ui-editorial-masthead-menu {
3972
- display: var(--editorial-masthead-menu-display);
3973
- }
3974
-
3975
- .ui-editorial-masthead-action {
3976
- display: inline-flex;
3977
- flex: none;
3978
- align-items: center;
3979
- justify-content: center;
3980
- width: var(--editorial-masthead-action-size);
3981
- height: var(--editorial-masthead-action-size);
3982
- padding: 0;
3983
- border: 0;
3984
- border-radius: var(--editorial-masthead-action-radius);
3985
- background: transparent;
3986
- color: inherit;
3987
- cursor: pointer;
3988
- }
3989
-
3990
- .ui-editorial-masthead-action:hover {
3991
- background: hsl(var(--muted));
3992
- }
3993
-
3994
- .ui-editorial-masthead-action[data-variant="outline"] {
3995
- border: var(--editorial-masthead-outline-border-width) solid hsl(var(--border));
3996
- background: var(--editorial-masthead-outline-background, hsl(var(--card)));
3997
- }
3998
-
3999
- .ui-editorial-masthead-action[data-collapse] {
4000
- display: var(--editorial-masthead-collapsible-display);
4001
- }
4002
-
4003
- .ui-editorial-masthead-action svg {
4004
- width: var(--editorial-masthead-icon-size);
4005
- height: var(--editorial-masthead-icon-size);
4006
- }
4007
-
4008
- .ui-editorial-masthead-actions [data-slot="select-trigger"] {
4009
-
4010
- --control-height: var(--editorial-masthead-action-size);
4011
- height: var(--editorial-masthead-action-size);
4012
- max-width: var(--editorial-masthead-picker-max-width);
4013
- min-height: var(--editorial-masthead-action-size);
4014
- padding-inline: var(--editorial-masthead-picker-padding-inline);
4015
- font-size: var(--editorial-masthead-picker-font-size);
4016
- gap: var(--editorial-masthead-picker-gap);
4017
- }
4018
-
4019
- .ui-centered-shell .ui-centered-shell-footer:has(> .ui-editorial-footer) {
4020
- margin-block-start: var(--editorial-footer-space-block-start);
4021
- border-block-start: 0;
4022
- padding-block: var(--editorial-footer-padding-block-start)
4023
- var(--editorial-footer-padding-block-end);
4024
- }
4025
-
4026
- .ui-editorial-footer-top {
4027
- display: grid;
4028
- grid-template-columns: var(--editorial-footer-track-size);
4029
- gap: var(--editorial-footer-gap);
4030
- padding-block-end: var(--editorial-footer-top-padding-block-end);
4031
- }
4032
-
4033
- .ui-editorial-footer-brand {
4034
- grid-column: var(--editorial-footer-brand-span-width);
4035
- }
4036
-
4037
- .ui-editorial-footer-brand img {
4038
- display: block;
4039
- width: var(--editorial-footer-logo-width);
4040
- height: auto;
4041
- }
4042
-
4043
- .ui-editorial-footer-tagline {
4044
- max-width: var(--editorial-footer-tagline-max-width);
4045
- margin: var(--editorial-footer-tagline-space-block-start) 0 0;
4046
- color: hsl(var(--muted-foreground));
4047
- font-size: var(--editorial-footer-font-size);
4048
- line-height: var(--editorial-footer-tagline-line-height);
4049
- }
4050
-
4051
- .ui-editorial-footer-group:last-child {
4052
- display: var(--editorial-footer-last-group-display);
4053
- }
4054
-
4055
- .ui-editorial-footer-heading {
4056
- margin: 0 0 var(--editorial-footer-heading-space-block-end);
4057
- color: var(--editorial-footer-heading-color, currentColor);
4058
- font-size: var(--editorial-footer-font-size);
4059
- font-weight: var(--font-weight-semibold);
4060
- line-height: var(--editorial-footer-heading-line-height);
4061
- letter-spacing: var(--editorial-footer-heading-letter-spacing);
4062
- }
4063
-
4064
- .ui-editorial-footer-group > a {
4065
- display: block;
4066
- min-height: var(--editorial-footer-link-min-height);
4067
- color: hsl(var(--text-link, var(--foreground)));
4068
- font-size: var(--editorial-footer-font-size);
4069
- text-decoration: none;
4070
- }
4071
-
4072
- .ui-editorial-footer-group > a:hover {
4073
- text-decoration-line: underline;
4074
- text-underline-offset: var(--editorial-hero-footer-link-offset);
4075
- }
4076
-
4077
- .ui-editorial-footer-bottom {
4078
- display: var(--editorial-footer-bottom-display);
4079
- justify-content: space-between;
4080
- gap: var(--editorial-footer-bottom-gap);
4081
- padding-block-start: var(--editorial-footer-bottom-padding-block-start);
4082
- border-block-start: var(--stroke-hairline) solid hsl(var(--border));
4083
- color: var(--editorial-footer-legal-color, hsl(var(--muted-foreground)));
4084
- font-size: var(--editorial-footer-legal-font-size);
4085
- line-height: var(--editorial-footer-legal-line-height);
4086
- }
4087
-
4088
- .ui-editorial-footer-note {
4089
- max-width: var(--editorial-footer-note-max-width);
4090
- margin: var(--editorial-footer-note-space-block-start) 0 0;
4091
- }
4092
-
4093
- .ui-editorial-filter-bar {
4094
- display: flex;
4095
- align-items: center;
4096
- justify-content: space-between;
4097
- gap: var(--editorial-filter-bar-gap);
4098
- margin-block-end: var(--editorial-filter-bar-space-block-end);
4099
- padding-block-end: var(--editorial-filter-bar-padding-block-end);
4100
- border-block-end: var(--stroke-hairline) solid hsl(var(--border));
4101
- }
4102
-
4103
- .ui-editorial-filter-bar-group {
4104
- display: flex;
4105
- align-items: center;
4106
- gap: var(--editorial-filter-bar-option-gap);
4107
- overflow-x: auto;
4108
- }
4109
-
4110
- .ui-editorial-filter-bar-option {
4111
- min-height: var(--editorial-filter-bar-option-min-height);
4112
- padding: var(--editorial-filter-bar-option-padding-block)
4113
- var(--editorial-filter-bar-option-padding-inline);
4114
- border: 0;
4115
- border-block-end: var(--editorial-filter-bar-indicator-size) solid transparent;
4116
- background: transparent;
4117
- color: hsl(var(--muted-foreground));
4118
- font: inherit;
4119
- font-size: var(--editorial-filter-bar-option-font-size);
4120
- white-space: nowrap;
4121
- cursor: pointer;
4122
- }
4123
-
4124
- .ui-editorial-filter-bar-option[aria-pressed="true"] {
4125
- border-block-end-color: hsl(var(--primary));
4126
- color: hsl(var(--text-brand, var(--primary)));
4127
- }
4128
-
4129
- .ui-editorial-filter-bar-extra {
4130
- color: hsl(var(--muted-foreground));
4131
- font-size: var(--editorial-filter-bar-extra-font-size);
4132
- white-space: nowrap;
4133
- }
4134
-
4135
- .ui-editorial-filter-panel {
4136
- --control-font-size: var(--editorial-filter-panel-control-font-size);
4137
- --control-padding-x: var(--editorial-filter-panel-control-padding-x);
4138
- --control-surface-background: var(
4139
- --editorial-filter-panel-control-background,
4140
- hsl(var(--card))
4141
- );
4142
- display: flex;
4143
- flex-wrap: wrap;
4144
- align-items: flex-end;
4145
- gap: var(--editorial-filter-panel-gap);
4146
- margin-block-end: var(--editorial-filter-panel-space-block-end);
4147
- padding: var(--editorial-filter-panel-padding);
4148
- border: var(--stroke-hairline) solid hsl(var(--border));
4149
- border-radius: var(--editorial-filter-panel-radius);
4150
- background: hsl(var(--card));
4151
- }
4152
-
4153
- .ui-editorial-filter-field {
4154
- display: flex;
4155
- flex: 1 1 var(--editorial-filter-field-width-basis);
4156
- flex-direction: column;
4157
- gap: var(--editorial-filter-field-gap);
4158
- min-width: var(--editorial-filter-field-min-width);
4159
- }
4160
-
4161
- .ui-editorial-filter-field-label {
4162
- color: var(--editorial-filter-field-label-color, hsl(var(--muted-foreground)));
4163
- font-size: var(--editorial-filter-field-label-font-size);
4164
- font-weight: var(--editorial-filter-field-label-font-weight);
4165
- line-height: var(--editorial-filter-field-label-line-height);
4166
- }
4167
-
4168
- .ui-editorial-filter-panel[data-variant="bare"] {
4169
- --editorial-filter-field-label-color: var(
4170
- --editorial-filter-panel-bare-label-color,
4171
- hsl(var(--foreground))
4172
- );
4173
- --editorial-filter-field-label-font-size: var(--editorial-filter-panel-bare-label-font-size);
4174
- --editorial-filter-field-label-font-weight: var(
4175
- --editorial-filter-panel-bare-label-font-weight
4176
- );
4177
- margin-block-end: 0;
4178
- padding: 0;
4179
- border: 0;
4180
- border-radius: 0;
4181
- background: transparent;
4182
- }
4183
-
4184
- .ui-editorial-filter-panel-action {
4185
- --button-padding-inline: var(--editorial-filter-panel-action-padding-inline);
4186
- --button-outline-foreground: var(--editorial-catalog-outline-color, hsl(var(--primary)));
4187
- --button-outline-background: var(--editorial-catalog-outline-background, transparent);
4188
- display: flex;
4189
- flex-grow: var(--editorial-filter-panel-action-size-grow);
4190
- }
4191
-
4192
- .ui-editorial-filter-panel-action > * {
4193
- flex: 1;
4194
- }
4195
-
4196
- .ui-catalog-detail {
4197
- display: grid;
4198
- grid-template-columns: var(--editorial-catalog-detail-track-size);
4199
- align-items: start;
4200
- gap: var(--editorial-catalog-detail-gap);
4201
- padding-block: var(--editorial-catalog-detail-padding-block-start)
4202
- var(--editorial-catalog-detail-padding-block-end);
4203
- }
4204
-
4205
- .ui-catalog-detail-visual,
4206
- .ui-catalog-detail-main {
4207
- min-width: 0;
4208
- }
4209
-
4210
- .ui-catalog-detail-art {
4211
- display: flex;
4212
- position: relative;
4213
- align-items: center;
4214
- justify-content: center;
4215
- max-width: var(--editorial-catalog-detail-art-max-width);
4216
- height: var(--editorial-catalog-detail-art-height);
4217
- min-height: var(--editorial-catalog-detail-art-min-height);
4218
- margin-inline: auto;
4219
- padding: var(--editorial-catalog-detail-art-padding);
4220
- border: var(--stroke-hairline) solid hsl(var(--border));
4221
- border-radius: var(--editorial-catalog-detail-art-radius);
4222
- background: hsl(var(--muted));
4223
- }
4224
-
4225
- .ui-catalog-detail-art img {
4226
- display: block;
4227
- width: var(--editorial-catalog-detail-media-width);
4228
- max-width: 100%;
4229
- height: var(--editorial-catalog-detail-media-height);
4230
- max-height: var(--editorial-catalog-detail-media-max-height);
4231
- object-fit: contain;
4232
- filter: drop-shadow(var(--editorial-catalog-detail-media-shadow));
4233
- }
4234
-
4235
- .ui-catalog-detail[data-variant="sealed"] .ui-catalog-detail-art img {
4236
- filter: none;
4237
- }
4238
-
4239
- .ui-catalog-detail-caption {
4240
- margin: var(--editorial-catalog-detail-caption-space-block-start) 0 0;
4241
- color: hsl(var(--muted-foreground));
4242
- font-size: var(--editorial-catalog-detail-caption-font-size);
4243
- line-height: var(--editorial-catalog-detail-caption-line-height);
4244
- text-align: center;
4245
- }
4246
-
4247
- .ui-catalog-detail-caption a {
4248
- color: inherit;
4249
- text-decoration: underline;
4250
- text-underline-offset: 3px;
4251
- }
4252
-
4253
- .ui-catalog-detail-title {
4254
- margin: var(--editorial-catalog-detail-title-space-block-start) 0
4255
- var(--editorial-catalog-detail-title-space-block-end);
4256
- font-family: var(--font-family-editorial, var(--font-family-display));
4257
- font-size: var(--editorial-catalog-detail-title-font-size);
4258
- font-weight: var(--font-weight-semibold);
4259
- line-height: var(--editorial-catalog-detail-title-line-height);
4260
- letter-spacing: var(--editorial-catalog-detail-title-letter-spacing);
4261
- }
4262
-
4263
- .ui-catalog-detail-meta {
4264
- display: flex;
4265
- flex-wrap: wrap;
4266
- align-items: center;
4267
- gap: var(--editorial-catalog-detail-meta-gap);
4268
- margin-block-end: var(--editorial-catalog-detail-meta-space-block-end);
4269
- }
4270
-
4271
- .ui-catalog-detail-tag {
4272
- display: inline-flex;
4273
- align-items: center;
4274
- min-height: var(--editorial-catalog-detail-tag-min-height);
4275
- padding: var(--editorial-catalog-detail-tag-padding-block)
4276
- var(--editorial-catalog-detail-tag-padding-inline);
4277
- border: var(--stroke-hairline) solid hsl(var(--border));
4278
- border-radius: var(--editorial-catalog-detail-tag-radius);
4279
- color: hsl(var(--muted-foreground));
4280
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
4281
- font-size: var(--editorial-catalog-detail-tag-font-size);
4282
- font-weight: var(--font-weight-medium);
4283
- line-height: var(--editorial-catalog-detail-tag-line-height);
4284
- }
4285
-
4286
- .ui-catalog-detail-summary {
4287
- padding-block: var(--editorial-catalog-detail-summary-padding-block);
4288
- border-block: var(--stroke-hairline) solid hsl(var(--border));
4289
- }
4290
-
4291
- .ui-catalog-detail-summary-label,
4292
- .ui-catalog-detail-summary-note {
4293
- margin: 0;
4294
- color: hsl(var(--muted-foreground));
4295
- font-size: var(--editorial-catalog-detail-summary-label-font-size);
4296
- line-height: var(--editorial-catalog-detail-summary-label-line-height);
4297
- }
4298
-
4299
- .ui-catalog-detail-summary-price {
4300
- margin: var(--editorial-catalog-detail-summary-price-space-block) 0;
4301
- color: hsl(var(--text-brand, var(--primary)));
4302
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
4303
- font-size: var(--editorial-catalog-detail-summary-price-font-size);
4304
- font-variant-numeric: tabular-nums;
4305
- font-weight: var(--font-weight-semibold);
4306
- line-height: var(--editorial-catalog-detail-summary-price-line-height);
4307
- }
4308
-
4309
- .ui-catalog-detail-summary-price small {
4310
- font-size: var(--editorial-catalog-detail-summary-price-suffix-font-size);
4311
- }
4312
-
4313
- .ui-catalog-detail-actions {
4314
- --button-outline-foreground: var(--editorial-catalog-outline-color, hsl(var(--primary)));
4315
- --button-outline-background: var(--editorial-catalog-outline-background, transparent);
4316
- display: flex;
4317
- flex-wrap: wrap;
4318
- gap: var(--editorial-catalog-detail-actions-gap);
4319
- margin-block-start: var(--editorial-catalog-detail-actions-space-block-start);
4320
- }
4321
-
4322
- .ui-catalog-detail-actions > :first-child {
4323
- flex-basis: var(--editorial-catalog-detail-actions-lead-width-basis);
4324
- }
4325
-
4326
- .ui-catalog-detail-facts {
4327
- display: grid;
4328
- grid-template-columns: var(--editorial-catalog-detail-facts-track-size);
4329
- column-gap: var(--editorial-catalog-detail-facts-gap);
4330
- margin: var(--editorial-catalog-detail-facts-space-block-start) 0 0;
4331
- font-size: var(--editorial-catalog-detail-facts-font-size);
4332
- line-height: var(--editorial-catalog-detail-facts-line-height);
4333
- }
4334
-
4335
- .ui-catalog-detail-fact {
4336
- min-width: 0;
4337
- padding-block: var(--editorial-catalog-detail-fact-padding-block);
4338
- border-block-end: var(--stroke-hairline) solid hsl(var(--border));
4339
- }
4340
-
4341
- .ui-catalog-detail-fact dt {
4342
- margin-block-end: var(--editorial-catalog-detail-fact-label-space-block-end);
4343
- color: hsl(var(--muted-foreground));
4344
- font-size: var(--editorial-catalog-detail-fact-label-font-size);
4345
- line-height: var(--editorial-catalog-detail-fact-label-line-height);
4346
- }
4347
-
4348
- .ui-catalog-detail-fact dd {
4349
- margin: 0;
4350
- }
4351
-
4352
- .ui-catalog-detail-fact dd a {
4353
- color: hsl(var(--text-brand, var(--primary)));
4354
- text-decoration: underline;
4355
- text-underline-offset: 4px;
4356
- }
4357
-
4358
- .ui-catalog-detail-section {
4359
- padding-block: var(--editorial-catalog-detail-section-padding-block);
4360
- border-block-start: var(--stroke-hairline) solid hsl(var(--border));
4361
- }
4362
-
4363
- .ui-catalog-detail-section[data-variant="module"] {
4364
-
4365
- --button-gap: var(--editorial-catalog-detail-module-button-gap);
4366
- --button-icon-size: var(--editorial-catalog-detail-module-button-icon-size);
4367
- padding-block: var(--editorial-catalog-detail-module-padding-block);
4368
- border-block-start: 0;
4369
- }
4370
-
4371
- .ui-catalog-detail-section-title {
4372
- margin: 0 0 var(--editorial-catalog-detail-section-title-space-block-end);
4373
- font-family: var(--font-family-editorial, var(--font-family-display));
4374
- font-size: var(--editorial-catalog-detail-section-title-font-size);
4375
- font-weight: var(--font-weight-semibold);
4376
- line-height: var(--editorial-catalog-detail-section-title-line-height);
4377
- letter-spacing: var(--editorial-catalog-detail-section-title-letter-spacing);
4378
- }
4379
-
4380
- .ui-catalog-detail-section-description {
4381
- max-width: var(--editorial-catalog-detail-section-description-max-width);
4382
- margin: 0;
4383
- color: hsl(var(--muted-foreground));
4384
- font-size: var(--editorial-catalog-detail-section-description-font-size);
4385
- line-height: var(--editorial-catalog-detail-section-description-line-height);
4386
- }
4387
-
4388
- .ui-price-summary {
4389
- display: flex;
4390
- flex-wrap: wrap;
4391
- gap: var(--stroke-hairline);
4392
- margin-block-end: var(--editorial-price-summary-space-block-end);
4393
- overflow: hidden;
4394
- border: var(--stroke-hairline) solid hsl(var(--border));
4395
- border-radius: var(--editorial-price-summary-radius);
4396
- background: hsl(var(--border));
4397
- }
4398
-
4399
- .ui-price-summary-cell {
4400
- display: flex;
4401
- flex: 1 1 var(--editorial-price-summary-cell-width-basis);
4402
- flex-direction: column;
4403
- gap: var(--editorial-price-summary-cell-gap);
4404
- min-width: 0;
4405
- padding: var(--editorial-price-summary-cell-padding-block)
4406
- var(--editorial-price-summary-cell-padding-inline);
4407
- background: hsl(var(--card));
4408
- }
4409
-
4410
- .ui-price-summary-cell[data-context] {
4411
- flex: var(--editorial-price-summary-context-size-grow) 1
4412
- var(--editorial-price-summary-context-width-basis);
4413
- background: hsl(var(--muted));
4414
- }
4415
-
4416
- .ui-price-summary-label {
4417
- color: hsl(var(--muted-foreground));
4418
- font-size: var(--editorial-price-summary-label-font-size);
4419
- line-height: var(--editorial-price-summary-label-line-height);
4420
- }
4421
-
4422
- .ui-price-summary-value {
4423
- color: hsl(var(--text-brand, var(--primary)));
4424
- font-family: var(--editorial-kicker-font-family, var(--font-family-tabular, inherit));
4425
- font-size: var(--editorial-price-summary-value-font-size);
4426
- font-variant-numeric: tabular-nums;
4427
- font-weight: var(--font-weight-semibold);
4428
- line-height: var(--editorial-price-summary-value-line-height);
4429
- letter-spacing: var(--editorial-price-summary-value-letter-spacing);
4430
- }
4431
-
4432
- .ui-price-summary-caption {
4433
- color: hsl(var(--muted-foreground));
4434
- font-size: var(--editorial-price-summary-caption-font-size);
4435
- line-height: var(--editorial-price-summary-caption-line-height);
4436
- }
4437
-
4438
- .ui-price-summary-context {
4439
- display: flex;
4440
- align-items: center;
4441
- min-height: var(--editorial-price-summary-context-min-height);
4442
- font-size: var(--editorial-price-summary-context-font-size);
4443
- font-weight: var(--font-weight-semibold);
4444
- line-height: var(--editorial-price-summary-context-line-height);
4445
- }
4446
-
4447
- .ui-editorial-prompt {
4448
- display: flex;
4449
- flex-wrap: var(--editorial-prompt-align-wrap);
4450
- align-items: center;
4451
- gap: var(--editorial-prompt-gap);
4452
- padding: var(--editorial-prompt-padding);
4453
- border: var(--stroke-hairline) solid hsl(var(--border));
4454
- border-radius: var(--editorial-prompt-radius);
4455
- background: hsl(var(--muted));
4456
- }
4457
-
4458
- .ui-editorial-prompt-icon {
4459
- display: var(--editorial-prompt-icon-display);
4460
- flex: none;
4461
- place-items: center;
4462
- width: var(--editorial-prompt-icon-size);
4463
- height: var(--editorial-prompt-icon-size);
4464
- border-radius: 50%;
4465
- background: hsl(var(--card));
4466
- color: hsl(var(--text-brand, var(--primary)));
4467
- }
4468
-
4469
- .ui-editorial-prompt-icon svg {
4470
- width: var(--editorial-prompt-icon-glyph-size);
4471
- height: var(--editorial-prompt-icon-glyph-size);
4472
- }
4473
-
4474
- .ui-editorial-prompt-copy {
4475
- flex: var(--editorial-prompt-copy-size-grow) 1 var(--editorial-prompt-copy-width-basis);
4476
- min-width: var(--editorial-prompt-copy-min-width);
4477
- }
4478
-
4479
- .ui-editorial-prompt-title {
4480
- margin: 0 0 var(--editorial-prompt-title-space-block-end);
4481
- font-family: var(--font-family-editorial, var(--font-family-display));
4482
- font-size: var(--editorial-prompt-title-font-size);
4483
- font-weight: var(--font-weight-semibold);
4484
- line-height: var(--editorial-prompt-title-line-height);
4485
- }
4486
-
4487
- .ui-editorial-prompt-description,
4488
- .ui-editorial-prompt-note {
4489
- max-width: var(--editorial-prompt-description-max-width);
4490
- margin: 0;
4491
- color: hsl(var(--muted-foreground));
4492
- font-size: var(--editorial-prompt-description-font-size);
4493
- line-height: var(--editorial-prompt-description-line-height);
4494
- }
4495
-
4496
- .ui-editorial-prompt-note {
4497
- margin-block-start: var(--editorial-prompt-note-space-block-start);
4498
- font-size: var(--editorial-prompt-note-font-size);
4499
- }
4500
-
4501
- .ui-editorial-prompt-action {
4502
- --button-radius: var(--editorial-prompt-action-radius);
4503
- --button-padding-inline: var(--editorial-prompt-action-padding-inline);
4504
- --button-font-weight: var(--editorial-prompt-action-font-weight);
4505
- display: flex;
4506
- flex: 0 1 var(--editorial-prompt-action-width-basis);
4507
- margin-inline-start: var(--editorial-prompt-action-inset-inline-start);
4508
- }
4509
-
4510
- .ui-editorial-prompt-action > * {
4511
- flex: 1;
4512
- }
4513
-
4514
- .ui-editorial-banner-copy {
4515
- --editorial-eyebrow-font-size: var(--editorial-banner-kicker-font-size);
4516
- --editorial-eyebrow-line-height: var(--editorial-banner-kicker-line-height);
4517
- }
4518
-
4519
- @media (prefers-reduced-motion: reduce) {
4520
- .ui-catalog-card,
4521
- .ui-catalog-card:hover,
4522
- .ui-editorial-card,
4523
- .ui-editorial-card:hover,
4524
- .ui-card-showcase-card,
4525
- .ui-card-showcase-card:hover {
4526
- transition: none;
4527
- }
4528
-
4529
- .ui-catalog-card:hover,
4530
- .ui-editorial-card[data-variant="journal"]:hover {
4531
- transform: none;
4532
- }
4533
- }
4534
2558
  }