@ryanhelsing/ry-ui 1.0.14 → 1.0.15

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.
@@ -21,16 +21,146 @@
21
21
  SCROLL LOCK (for modals, drawers)
22
22
  ═══════════════════════════════════════════════════════════════ */
23
23
 
24
+ body {
25
+ margin: 0;
26
+ min-height: 100dvh;
27
+ line-height: 1.5;
28
+ -webkit-font-smoothing: antialiased;
29
+ text-rendering: optimizeLegibility;
30
+ }
31
+
24
32
  body[data-ry-scroll-lock] {
25
33
  overflow: hidden;
26
34
  padding-right: var(--ry-scrollbar-width, 0);
27
35
  }
28
36
 
37
+ /* ═══════════════════════════════════════════════════════════════
38
+ PREFLIGHT RESET (opt-in via data-ry-reset on body/html)
39
+ Faithful equivalent of Tailwind Preflight.
40
+ ═══════════════════════════════════════════════════════════════ */
41
+
42
+ /* Universal — :where() gives zero specificity so component styles always win */
43
+ :where([data-ry-reset]) *,
44
+ :where([data-ry-reset]) *::before,
45
+ :where([data-ry-reset]) *::after,
46
+ :where([data-ry-reset]) *::backdrop {
47
+ box-sizing: border-box;
48
+ margin: 0;
49
+ padding: 0;
50
+ border: 0 solid;
51
+ }
52
+
53
+ /* Root */
54
+ :where([data-ry-reset]) {
55
+ line-height: 1.5;
56
+ -webkit-text-size-adjust: 100%;
57
+ tab-size: 4;
58
+ -webkit-tap-highlight-color: transparent;
59
+ }
60
+
61
+ /* Typography */
62
+ :where([data-ry-reset]) :where(h1, h2, h3, h4, h5, h6) {
63
+ font-size: inherit;
64
+ font-weight: inherit;
65
+ }
66
+ :where([data-ry-reset]) :where(a) {
67
+ color: inherit;
68
+ text-decoration: inherit;
69
+ }
70
+ :where([data-ry-reset]) :where(b, strong) {
71
+ font-weight: bolder;
72
+ }
73
+ :where([data-ry-reset]) :where(code, kbd, samp, pre) {
74
+ font-size: 1em;
75
+ }
76
+ :where([data-ry-reset]) :where(small) {
77
+ font-size: 80%;
78
+ }
79
+ :where([data-ry-reset]) :where(sub, sup) {
80
+ font-size: 75%;
81
+ line-height: 0;
82
+ position: relative;
83
+ vertical-align: baseline;
84
+ }
85
+ :where([data-ry-reset]) :where(sub) { bottom: -0.25em; }
86
+ :where([data-ry-reset]) :where(sup) { top: -0.5em; }
87
+
88
+ /* Lists */
89
+ :where([data-ry-reset]) :where(ol, ul, menu) {
90
+ list-style: none;
91
+ }
92
+
93
+ /* Table */
94
+ :where([data-ry-reset]) :where(table) {
95
+ text-indent: 0;
96
+ border-color: inherit;
97
+ border-collapse: collapse;
98
+ }
99
+
100
+ /* HR */
101
+ :where([data-ry-reset]) :where(hr) {
102
+ height: 0;
103
+ color: inherit;
104
+ border-top-width: 1px;
105
+ }
106
+
107
+ /* Media */
108
+ :where([data-ry-reset]) :where(img, svg, video, canvas, audio, iframe, embed, object) {
109
+ display: block;
110
+ vertical-align: middle;
111
+ }
112
+ :where([data-ry-reset]) :where(img, video) {
113
+ max-width: 100%;
114
+ height: auto;
115
+ }
116
+
117
+ /* Form controls */
118
+ :where([data-ry-reset]) :where(button, input, select, optgroup, textarea) {
119
+ font: inherit;
120
+ font-feature-settings: inherit;
121
+ font-variation-settings: inherit;
122
+ letter-spacing: inherit;
123
+ color: inherit;
124
+ border-radius: 0;
125
+ background-color: transparent;
126
+ }
127
+ :where([data-ry-reset]) ::placeholder {
128
+ opacity: 1;
129
+ }
130
+ @supports (color: color-mix(in oklab, currentcolor 50%, transparent)) {
131
+ :where([data-ry-reset]) ::placeholder {
132
+ color: color-mix(in oklab, currentcolor 50%, transparent);
133
+ }
134
+ }
135
+ :where([data-ry-reset]) :where(textarea) {
136
+ resize: vertical;
137
+ }
138
+ :where([data-ry-reset]) :where(button, input:where([type='button'], [type='reset'], [type='submit'])) {
139
+ appearance: button;
140
+ }
141
+ :where([data-ry-reset]) ::-webkit-search-decoration {
142
+ -webkit-appearance: none;
143
+ }
144
+ :where([data-ry-reset]) ::-webkit-inner-spin-button,
145
+ :where([data-ry-reset]) ::-webkit-outer-spin-button {
146
+ height: auto;
147
+ }
148
+
149
+ /* Misc */
150
+ :where([data-ry-reset]) :where(summary) {
151
+ display: list-item;
152
+ }
153
+ :where([data-ry-reset]) :where([hidden]:not([hidden='until-found'])) {
154
+ display: none !important;
155
+ }
156
+
29
157
  /* ═══════════════════════════════════════════════════════════════
30
158
  TRANSFORM WRAPPER (FOUC prevention)
31
159
  ═══════════════════════════════════════════════════════════════ */
32
160
 
33
- ry {
161
+ ry,
162
+ ry-search-item,
163
+ ry-search-group {
34
164
  display: none;
35
165
  }
36
166
 
@@ -42,13 +172,14 @@ ry {
42
172
  ry-page, ry-header, ry-main, ry-footer, ry-section, ry-aside,
43
173
  ry-grid, ry-stack, ry-cluster, ry-split, ry-center,
44
174
  ry-card, ry-accordion, ry-modal, ry-tabs, ry-dropdown,
45
- ry-button, ry-button-group, ry-badge, ry-alert, ry-field, ry-nav, ry-logo, ry-actions,
175
+ ry-button, ry-badge, ry-alert, ry-field, ry-nav, ry-logo, ry-actions,
46
176
  ry-accordion-item, ry-tab, ry-menu, ry-menu-item, ry-divider,
47
177
  ry-theme-toggle, ry-select, ry-switch, ry-tooltip, ry-drawer, ry-toast,
48
178
  ry-toggle-button, ry-knob, ry-slider, ry-number-select, ry-color-picker, ry-color-input,
49
179
  ry-gradient-picker, ry-tree, ry-tree-item,
50
180
  ry-tag, ry-tag-input, ry-hero, ry-stat, ry-feature, ry-feature-grid,
51
- ry-pricing, ry-pricing-card, ry-carousel, ry-combobox, ry-heading) {
181
+ ry-pricing, ry-pricing-card, ry-carousel, ry-combobox, ry-heading,
182
+ ry-logo-bar) {
52
183
  box-sizing: border-box;
53
184
  }
54
185
 
@@ -109,6 +240,7 @@ ry-page {
109
240
  min-height: 100dvh;
110
241
  container-type: inline-size;
111
242
  scrollbar-gutter: stable;
243
+ overflow-x: clip;
112
244
  }
113
245
 
114
246
  /* ═══════════════════════════════════════════════════════════════
@@ -152,6 +284,51 @@ ry-footer {
152
284
  text-align: center;
153
285
  }
154
286
 
287
+ /* Full footer with columns */
288
+ ry-footer[layout="columns"] {
289
+ text-align: start;
290
+ padding: var(--ry-space-12, 3rem) var(--ry-space-6, 1.5rem);
291
+ }
292
+
293
+ ry-footer[layout="columns"] > [data-ry-target="columns"],
294
+ ry-footer[layout="columns"] > .ry-footer__columns {
295
+ display: grid;
296
+ grid-template-columns: 1.5fr repeat(auto-fit, minmax(8rem, 1fr));
297
+ gap: var(--ry-space-8, 2rem);
298
+ padding-block-end: var(--ry-space-8, 2rem);
299
+ }
300
+
301
+ ry-footer[layout="columns"] > [data-ry-target="columns"] nav,
302
+ ry-footer[layout="columns"] > .ry-footer__columns nav {
303
+ display: flex;
304
+ flex-direction: column;
305
+ gap: var(--ry-space-2, 0.5rem);
306
+ }
307
+
308
+ ry-footer[layout="columns"] > [data-ry-target="columns"] nav strong,
309
+ ry-footer[layout="columns"] > .ry-footer__columns nav strong {
310
+ margin-block-end: var(--ry-space-2, 0.5rem);
311
+ }
312
+
313
+ ry-footer[layout="columns"] > [data-ry-target="bottom"],
314
+ ry-footer[layout="columns"] > .ry-footer__bottom {
315
+ display: flex;
316
+ justify-content: space-between;
317
+ align-items: center;
318
+ flex-wrap: wrap;
319
+ gap: var(--ry-space-4, 1rem);
320
+ padding-block-start: var(--ry-space-6, 1.5rem);
321
+ border-top: 1px solid currentColor;
322
+ opacity: 0.5;
323
+ }
324
+
325
+ @media (max-width: 768px) {
326
+ ry-footer[layout="columns"] > [data-ry-target="columns"],
327
+ ry-footer[layout="columns"] > .ry-footer__columns {
328
+ grid-template-columns: 1fr 1fr;
329
+ }
330
+ }
331
+
155
332
  /* ═══════════════════════════════════════════════════════════════
156
333
  SECTION
157
334
  ═══════════════════════════════════════════════════════════════ */
@@ -170,19 +347,114 @@ ry-section[narrow] {
170
347
  margin-inline: auto;
171
348
  }
172
349
 
173
- /* Logo bar pattern */
174
- .ry-logo-bar {
175
- text-align: center;
350
+ /* Full-width breakout bg goes edge-to-edge, content stays centered */
351
+ ry-section[full],
352
+ ry-section[inverted],
353
+ ry-footer,
354
+ ry-logo-bar {
355
+ width: 100vw;
356
+ margin-inline-start: calc(50% - 50vw);
357
+ padding-inline: max(var(--ry-space-6, 1.5rem), calc(50vw - 50%));
176
358
  }
177
359
 
178
- .ry-logo-bar p {
179
- margin: 0 0 var(--ry-space-4, 1rem);
360
+ ry-section[inverted] {
361
+ padding-block: var(--ry-space-12, 3rem);
180
362
  }
181
363
 
182
- .ry-logo-bar ry-cluster {
183
- justify-content: center;
184
- gap: var(--ry-space-10, 2.5rem);
364
+ ry-section[pad-bottom="lg"] {
365
+ padding-bottom: var(--ry-space-20, 5rem);
366
+ }
367
+
368
+ /* ═══════════════════════════════════════════════════════════════
369
+ LOGO BAR
370
+ ═══════════════════════════════════════════════════════════════ */
371
+
372
+ ry-logo-bar {
373
+ display: flex;
185
374
  flex-wrap: wrap;
375
+ justify-content: center;
376
+ align-items: center;
377
+ gap: var(--ry-space-8, 2rem);
378
+ padding-block: var(--ry-space-8, 2rem);
379
+ text-align: center;
380
+ }
381
+
382
+ ry-logo-bar > p {
383
+ width: 100%;
384
+ margin: 0;
385
+ }
386
+
387
+ ry-logo-bar > :not(p) {
388
+ display: inline-flex;
389
+ align-items: center;
390
+ }
391
+
392
+ /* Scroll layout — horizontal scroll, no wrap */
393
+ ry-logo-bar[layout="scroll"] {
394
+ flex-wrap: nowrap;
395
+ overflow-x: auto;
396
+ overflow-y: hidden;
397
+ scrollbar-width: none;
398
+ -webkit-overflow-scrolling: touch;
399
+ }
400
+
401
+ ry-logo-bar[layout="scroll"]::-webkit-scrollbar {
402
+ display: none;
403
+ }
404
+
405
+ ry-logo-bar[layout="scroll"] > :not(p) {
406
+ flex-shrink: 0;
407
+ }
408
+
409
+ /* Marquee layout — infinite auto-scroll */
410
+ ry-logo-bar[layout="marquee"] {
411
+ flex-wrap: nowrap;
412
+ overflow: hidden;
413
+ }
414
+
415
+ ry-logo-bar[layout="marquee"] [data-ry-target="track"] {
416
+ display: flex;
417
+ align-items: center;
418
+ gap: var(--ry-space-8, 2rem);
419
+ width: max-content;
420
+ animation: ry-marquee var(--ry-logo-bar-speed, 30s) linear infinite;
421
+ }
422
+
423
+ ry-logo-bar[layout="marquee"] [data-ry-target="track"] > * {
424
+ display: inline-flex;
425
+ align-items: center;
426
+ flex-shrink: 0;
427
+ }
428
+
429
+ ry-logo-bar[layout="marquee"]:hover [data-ry-target="track"] {
430
+ animation-play-state: paused;
431
+ }
432
+
433
+ @keyframes ry-marquee {
434
+ from { transform: translateX(0); }
435
+ to { transform: translateX(-25%); }
436
+ }
437
+
438
+ /* Size variants */
439
+ ry-logo-bar[size="sm"] {
440
+ padding: var(--ry-space-4, 1rem) var(--ry-space-4, 1rem);
441
+ gap: var(--ry-space-4, 1rem);
442
+ }
443
+
444
+ ry-logo-bar[size="lg"] {
445
+ padding: var(--ry-space-12, 3rem) var(--ry-space-6, 1.5rem);
446
+ gap: var(--ry-space-6, 1.5rem);
447
+ }
448
+
449
+ /* Logo items */
450
+ ry-logo-bar img {
451
+ height: var(--ry-logo-bar-height, 2rem);
452
+ width: auto;
453
+ object-fit: contain;
454
+ }
455
+
456
+ ry-logo-bar span {
457
+ white-space: nowrap;
186
458
  }
187
459
 
188
460
  /* ═══════════════════════════════════════════════════════════════
@@ -210,6 +482,13 @@ ry-grid[cols="auto-fill"] {
210
482
  grid-template-columns: repeat(auto-fill, minmax(var(--ry-grid-min, 280px), 1fr));
211
483
  }
212
484
 
485
+ ry-grid[overlap] {
486
+ position: relative;
487
+ z-index: 1;
488
+ margin-top: calc(-1 * var(--ry-space-12, 3rem));
489
+ padding-inline: var(--ry-space-6, 1.5rem);
490
+ }
491
+
213
492
  /* Default responsive behavior */
214
493
  @container (max-width: 640px) {
215
494
  :is(ry-grid[cols="2"], ry-grid[cols="3"], ry-grid[cols="4"],
@@ -451,19 +730,13 @@ ry-button[icon][size="sm"]:empty {
451
730
  padding: var(--ry-space-1, 0.25rem);
452
731
  }
453
732
 
454
- /* ═══════════════════════════════════════════════════════════════
455
- BUTTON GROUP
456
- ═══════════════════════════════════════════════════════════════ */
457
-
458
- ry-button-group {
459
- display: inline-flex;
460
- gap: 2px;
461
- padding: 2px;
462
- border-radius: var(--ry-radius-md, 0.375rem);
463
- }
464
-
465
- ry-button-group > :is(ry-button, ry-toggle-button) {
466
- border-radius: calc(var(--ry-radius-md, 0.375rem) - 2px);
733
+ /* Link variant — inline text link style */
734
+ ry-button[variant="link"] {
735
+ background: none;
736
+ border: none;
737
+ padding: 0;
738
+ display: inline;
739
+ cursor: pointer;
467
740
  }
468
741
 
469
742
  /* ═══════════════════════════════════════════════════════════════
@@ -867,6 +1140,12 @@ ry-card p:last-child {
867
1140
  margin-bottom: 0;
868
1141
  }
869
1142
 
1143
+ ry-card > img:first-child {
1144
+ display: block;
1145
+ width: 100%;
1146
+ margin-bottom: var(--ry-space-4, 1rem);
1147
+ }
1148
+
870
1149
  /* ═══════════════════════════════════════════════════════════════
871
1150
  BADGES
872
1151
  ═══════════════════════════════════════════════════════════════ */
@@ -888,7 +1167,7 @@ ry-alert {
888
1167
  padding: var(--ry-space-4, 1rem);
889
1168
  }
890
1169
 
891
- ry-alert [slot="title"] {
1170
+ .ry-alert__title {
892
1171
  margin: 0 0 var(--ry-space-1, 0.25rem) 0;
893
1172
  }
894
1173
 
@@ -1600,7 +1879,11 @@ ry-select[multiple] [data-ry-target="trigger"] {
1600
1879
  }
1601
1880
 
1602
1881
  ry-select[multiple] [data-ry-target="tags"] {
1603
- display: contents;
1882
+ display: flex;
1883
+ flex-wrap: wrap;
1884
+ flex: 1 1 0%;
1885
+ gap: var(--ry-space-1, 0.25rem);
1886
+ align-items: center;
1604
1887
  }
1605
1888
 
1606
1889
  ry-select[multiple] [data-ry-target="clear"] {
@@ -2573,6 +2856,40 @@ ry-tag-input[disabled] [data-ry-target="container"] {
2573
2856
  cursor: not-allowed;
2574
2857
  }
2575
2858
 
2859
+ /* ═══════════════════════════════════════════════════════════════
2860
+ DEVICE FRAME (CSS-only phone mockup)
2861
+ ═══════════════════════════════════════════════════════════════ */
2862
+
2863
+ .ry-phone {
2864
+ position: relative;
2865
+ display: inline-block;
2866
+ padding: 0.75rem;
2867
+ border-radius: 2.5rem;
2868
+ border: 3px solid currentColor;
2869
+ overflow: hidden;
2870
+ max-width: 20rem;
2871
+ }
2872
+
2873
+ .ry-phone::before {
2874
+ content: '';
2875
+ position: absolute;
2876
+ top: 0.75rem;
2877
+ left: 50%;
2878
+ transform: translateX(-50%);
2879
+ width: 5rem;
2880
+ height: 1.5rem;
2881
+ border-radius: 0 0 1rem 1rem;
2882
+ background: currentColor;
2883
+ z-index: 1;
2884
+ }
2885
+
2886
+ .ry-phone img {
2887
+ display: block;
2888
+ width: 100%;
2889
+ height: auto;
2890
+ border-radius: 1.75rem;
2891
+ }
2892
+
2576
2893
  /* ═══════════════════════════════════════════════════════════════
2577
2894
  HERO
2578
2895
  ═══════════════════════════════════════════════════════════════ */
@@ -2615,10 +2932,95 @@ ry-hero[size="lg"] {
2615
2932
  padding: var(--ry-space-20, 5rem) var(--ry-space-6, 1.5rem);
2616
2933
  }
2617
2934
 
2935
+ ry-hero[size="full"] {
2936
+ min-height: 100vh;
2937
+ min-height: 100dvh;
2938
+ justify-content: center;
2939
+ }
2940
+
2618
2941
  ry-hero[full-bleed] {
2619
2942
  max-width: none;
2620
2943
  }
2621
2944
 
2945
+ /* Split layout: text + media side by side */
2946
+ ry-hero[layout="split"] {
2947
+ display: grid;
2948
+ grid-template-columns: 1fr 1fr;
2949
+ align-items: center;
2950
+ text-align: start;
2951
+ gap: 0;
2952
+ max-width: none;
2953
+ padding: 0;
2954
+ overflow: hidden;
2955
+ }
2956
+
2957
+ ry-hero[layout="split"] > *:first-child {
2958
+ display: flex;
2959
+ flex-direction: column;
2960
+ align-items: flex-start;
2961
+ gap: var(--ry-space-4, 1rem);
2962
+ padding: var(--ry-space-12, 3rem) var(--ry-space-12, 3rem) var(--ry-space-12, 3rem) clamp(var(--ry-space-6, 1.5rem), 8vw, 10rem);
2963
+ }
2964
+
2965
+ ry-hero[layout="split"] > *:first-child > * + * {
2966
+ margin-block-start: 0;
2967
+ }
2968
+
2969
+ ry-hero[layout="split"] > *:last-child {
2970
+ align-self: stretch;
2971
+ position: relative;
2972
+ overflow: hidden;
2973
+ }
2974
+
2975
+ ry-hero[layout="split"] > *:last-child img {
2976
+ display: block;
2977
+ width: 100%;
2978
+ height: 100%;
2979
+ object-fit: cover;
2980
+ object-position: center;
2981
+ }
2982
+
2983
+ /* Full viewport height for split */
2984
+ ry-hero[layout="split"][size="full"] {
2985
+ min-height: 100vh;
2986
+ min-height: 100dvh;
2987
+ }
2988
+
2989
+ /* Flip: image left, text right */
2990
+ ry-hero[layout="split"][reverse] {
2991
+ direction: rtl;
2992
+ }
2993
+
2994
+ ry-hero[layout="split"][reverse] > * {
2995
+ direction: ltr;
2996
+ }
2997
+
2998
+ ry-hero[layout="split"][reverse] > *:first-child {
2999
+ padding-inline: var(--ry-space-12, 3rem) clamp(var(--ry-space-6, 1.5rem), 8vw, 10rem);
3000
+ }
3001
+
3002
+ @media (max-width: 768px) {
3003
+ ry-hero[layout="split"] {
3004
+ grid-template-columns: 1fr;
3005
+ }
3006
+
3007
+ ry-hero[layout="split"] > *:first-child {
3008
+ padding: var(--ry-space-8, 2rem) var(--ry-space-6, 1.5rem);
3009
+ }
3010
+
3011
+ ry-hero[layout="split"][reverse] > *:first-child {
3012
+ padding: var(--ry-space-8, 2rem) var(--ry-space-6, 1.5rem);
3013
+ }
3014
+
3015
+ ry-hero[layout="split"] > *:last-child {
3016
+ max-height: 20rem;
3017
+ }
3018
+
3019
+ ry-hero[layout="split"][size="full"] {
3020
+ min-height: auto;
3021
+ }
3022
+ }
3023
+
2622
3024
  /* ═══════════════════════════════════════════════════════════════
2623
3025
  STAT
2624
3026
  ═══════════════════════════════════════════════════════════════ */
@@ -2747,11 +3149,11 @@ ry-pricing-card h3 {
2747
3149
  margin: 0 0 var(--ry-space-2, 0.5rem) 0;
2748
3150
  }
2749
3151
 
2750
- ry-pricing-card [slot="price"] {
3152
+ .ry-pricing-card__price {
2751
3153
  margin-block-end: var(--ry-space-6, 1.5rem);
2752
3154
  }
2753
3155
 
2754
- ry-pricing-card [slot="price"] span {
3156
+ .ry-pricing-card__price span {
2755
3157
  display: inline;
2756
3158
  }
2757
3159
 
@@ -3092,4 +3494,90 @@ ry-heading[divider] {
3092
3494
  padding-block-end: var(--ry-space-4, 1rem);
3093
3495
  }
3094
3496
 
3497
+ /* ═══════════════════════════════════════════════════════════════
3498
+ SEARCH LIST
3499
+ ═══════════════════════════════════════════════════════════════ */
3500
+
3501
+ ry-search-list {
3502
+ display: flex;
3503
+ flex-direction: column;
3504
+ overflow: hidden;
3505
+ min-height: 0;
3506
+ }
3507
+
3508
+ ry-search-list [data-ry-target="search"] {
3509
+ flex-shrink: 0;
3510
+ padding: var(--ry-space-2) var(--ry-space-3);
3511
+ position: sticky;
3512
+ top: 0;
3513
+ z-index: 1;
3514
+ }
3515
+
3516
+ ry-search-list [data-ry-target="input"] {
3517
+ width: 100%;
3518
+ padding: var(--ry-space-2) var(--ry-space-3);
3519
+ border: none;
3520
+ background: transparent;
3521
+ font: inherit;
3522
+ outline: none;
3523
+ }
3524
+
3525
+ ry-search-list [data-ry-target="list"] {
3526
+ flex: 1;
3527
+ overflow-y: auto;
3528
+ min-height: 0;
3529
+ padding: var(--ry-space-1) var(--ry-space-2);
3530
+ }
3531
+
3532
+ ry-search-list [data-ry-target="item"] {
3533
+ display: flex;
3534
+ align-items: center;
3535
+ padding: var(--ry-space-1) var(--ry-space-3);
3536
+ cursor: pointer;
3537
+ user-select: none;
3538
+ }
3539
+
3540
+ ry-search-list [data-ry-target="item"][hidden] {
3541
+ display: none;
3542
+ }
3543
+
3544
+ ry-search-list [data-ry-target="group-header"] {
3545
+ padding: var(--ry-space-2) var(--ry-space-3);
3546
+ padding-top: var(--ry-space-4);
3547
+ font-size: 0.6875rem;
3548
+ text-transform: uppercase;
3549
+ letter-spacing: 0.05em;
3550
+ pointer-events: none;
3551
+ user-select: none;
3552
+ }
3553
+
3554
+ ry-search-list [data-ry-target="group"][hidden] {
3555
+ display: none;
3556
+ }
3557
+
3558
+ ry-search-list [data-ry-target="empty"] {
3559
+ padding: var(--ry-space-6) var(--ry-space-3);
3560
+ text-align: center;
3561
+ }
3562
+
3563
+ ry-search-list [data-ry-target="empty"][hidden] {
3564
+ display: none;
3565
+ }
3566
+
3567
+ /* ═══════════════════════════════════════════════════════════════
3568
+ UTILITIES
3569
+ ═══════════════════════════════════════════════════════════════ */
3570
+
3571
+ .ry-avatar {
3572
+ display: block;
3573
+ width: 4rem;
3574
+ height: 4rem;
3575
+ margin-bottom: var(--ry-space-4, 1rem);
3576
+ }
3577
+
3578
+ .ry-avatar[data-size="lg"] {
3579
+ width: 6rem;
3580
+ height: 6rem;
3581
+ }
3582
+
3095
3583
  } /* @layer ry-structure */