@ryanhelsing/ry-ui 1.0.8 → 1.0.10

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 (41) hide show
  1. package/.claude/skills/ry-ui-builder/SKILL.md +186 -0
  2. package/AGENT.md +3 -1
  3. package/README.md +16 -2
  4. package/dist/_redirects +1 -0
  5. package/dist/app.d.ts +2 -0
  6. package/dist/app.d.ts.map +1 -0
  7. package/dist/components/ry-testimonial.d.ts +19 -0
  8. package/dist/components/ry-testimonial.d.ts.map +1 -0
  9. package/dist/components/ry-theme-panel.d.ts +25 -0
  10. package/dist/components/ry-theme-panel.d.ts.map +1 -0
  11. package/dist/core/ry-icons.d.ts.map +1 -1
  12. package/dist/core/ry-transform.d.ts.map +1 -1
  13. package/dist/css/ry-structure.css +123 -3
  14. package/dist/css/ry-theme.css +141 -2
  15. package/dist/css/ry-tokens.css +4 -26
  16. package/dist/css/ry-ui.css +268 -31
  17. package/dist/pages/components.html +1827 -0
  18. package/dist/pages/landing.html +229 -0
  19. package/dist/ry-ui.d.ts +2 -0
  20. package/dist/ry-ui.d.ts.map +1 -1
  21. package/dist/ry-ui.js +382 -245
  22. package/dist/ry-ui.js.map +1 -1
  23. package/docs/components/forms.md +10 -3
  24. package/examples/starter-local.html +252 -0
  25. package/examples/starter-minimal.html +252 -0
  26. package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/LICENSE.txt +21 -0
  27. package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/README.md +7 -0
  28. package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/dist/index.html +23 -0
  29. package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/dist/style.css +126 -0
  30. package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/src/index.html +5 -0
  31. package/examples/themes/skeuomorphic/css-dark-neon-led-volume-dial/src/style.scss +161 -0
  32. package/examples/themes/skeuomorphic/led-controls/LICENSE.txt +21 -0
  33. package/examples/themes/skeuomorphic/led-controls/README.md +7 -0
  34. package/examples/themes/skeuomorphic/led-controls/dist/index.html +17 -0
  35. package/examples/themes/skeuomorphic/led-controls/dist/script.js +27 -0
  36. package/examples/themes/skeuomorphic/led-controls/dist/style.css +135 -0
  37. package/examples/themes/skeuomorphic/led-controls/src/index.html +1 -0
  38. package/examples/themes/skeuomorphic/led-controls/src/script.ts +59 -0
  39. package/examples/themes/skeuomorphic/led-controls/src/style.scss +253 -0
  40. package/llms.txt +346 -0
  41. package/package.json +12 -4
@@ -9,33 +9,11 @@
9
9
 
10
10
  /* ═══════════════════════════════════════════════════════════════
11
11
  @property — typed custom properties for animation & type safety
12
+ Note: color tokens are NOT registered here because @property
13
+ prevents light-dark() from re-resolving on dynamic color-scheme
14
+ changes in Firefox. Colors use unregistered custom properties.
12
15
  ═══════════════════════════════════════════════════════════════ */
13
16
 
14
- @property --ry-color-primary { syntax: "<color>"; inherits: true; initial-value: oklch(0.623 0.188 259.8); }
15
- @property --ry-color-primary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.546 0.215 262.9); }
16
- @property --ry-color-primary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.488 0.217 264.4); }
17
- @property --ry-color-secondary { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
18
- @property --ry-color-secondary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.446 0.037 257.3); }
19
- @property --ry-color-secondary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.372 0.039 257.3); }
20
- @property --ry-color-accent { syntax: "<color>"; inherits: true; initial-value: oklch(0.627 0.213 303.9); }
21
- @property --ry-color-accent-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.557 0.213 303.9); }
22
- @property --ry-color-accent-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.497 0.213 303.9); }
23
- @property --ry-color-success { syntax: "<color>"; inherits: true; initial-value: oklch(0.723 0.192 149.6); }
24
- @property --ry-color-warning { syntax: "<color>"; inherits: true; initial-value: oklch(0.769 0.165 70.1); }
25
- @property --ry-color-danger { syntax: "<color>"; inherits: true; initial-value: oklch(0.637 0.208 25.3); }
26
- @property --ry-color-info { syntax: "<color>"; inherits: true; initial-value: oklch(0.715 0.126 215.2); }
27
- @property --ry-color-text { syntax: "<color>"; inherits: true; initial-value: oklch(0.279 0.037 260); }
28
- @property --ry-color-text-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
29
- @property --ry-color-text-inverse { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
30
- @property --ry-color-bg { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
31
- @property --ry-color-bg-subtle { syntax: "<color>"; inherits: true; initial-value: oklch(0.984 0.003 248.2); }
32
- @property --ry-color-bg-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.968 0.007 248.1); }
33
- @property --ry-color-border { syntax: "<color>"; inherits: true; initial-value: oklch(0.929 0.013 255.6); }
34
- @property --ry-color-border-strong { syntax: "<color>"; inherits: true; initial-value: oklch(0.869 0.02 252.9); }
35
- @property --ry-color-overlay { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.5); }
36
- @property --ry-shadow-color { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.1); }
37
- @property --ry-shadow-color-sm { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.05); }
38
-
39
17
  @property --ry-duration-fast { syntax: "<time>"; inherits: true; initial-value: 100ms; }
40
18
  @property --ry-duration-normal { syntax: "<time>"; inherits: true; initial-value: 200ms; }
41
19
  @property --ry-duration-slow { syntax: "<time>"; inherits: true; initial-value: 300ms; }
@@ -234,7 +212,7 @@
234
212
  --ry-focus-ring: 0 0 0 3px light-dark(oklch(0.623 0.188 259.8 / 0.5), oklch(0.714 0.143 254.6 / 0.5));
235
213
  }
236
214
 
237
- /* Force light or dark mode */
215
+ /* Force light or dark mode (legacy — theme used to conflate theme + mode) */
238
216
  [data-ry-theme="light"] { color-scheme: light; }
239
217
  [data-ry-theme="dark"] { color-scheme: dark; }
240
218
 
@@ -9,33 +9,11 @@
9
9
 
10
10
  /* ═══════════════════════════════════════════════════════════════
11
11
  @property — typed custom properties for animation & type safety
12
+ Note: color tokens are NOT registered here because @property
13
+ prevents light-dark() from re-resolving on dynamic color-scheme
14
+ changes in Firefox. Colors use unregistered custom properties.
12
15
  ═══════════════════════════════════════════════════════════════ */
13
16
 
14
- @property --ry-color-primary { syntax: "<color>"; inherits: true; initial-value: oklch(0.623 0.188 259.8); }
15
- @property --ry-color-primary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.546 0.215 262.9); }
16
- @property --ry-color-primary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.488 0.217 264.4); }
17
- @property --ry-color-secondary { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
18
- @property --ry-color-secondary-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.446 0.037 257.3); }
19
- @property --ry-color-secondary-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.372 0.039 257.3); }
20
- @property --ry-color-accent { syntax: "<color>"; inherits: true; initial-value: oklch(0.627 0.213 303.9); }
21
- @property --ry-color-accent-hover { syntax: "<color>"; inherits: true; initial-value: oklch(0.557 0.213 303.9); }
22
- @property --ry-color-accent-active { syntax: "<color>"; inherits: true; initial-value: oklch(0.497 0.213 303.9); }
23
- @property --ry-color-success { syntax: "<color>"; inherits: true; initial-value: oklch(0.723 0.192 149.6); }
24
- @property --ry-color-warning { syntax: "<color>"; inherits: true; initial-value: oklch(0.769 0.165 70.1); }
25
- @property --ry-color-danger { syntax: "<color>"; inherits: true; initial-value: oklch(0.637 0.208 25.3); }
26
- @property --ry-color-info { syntax: "<color>"; inherits: true; initial-value: oklch(0.715 0.126 215.2); }
27
- @property --ry-color-text { syntax: "<color>"; inherits: true; initial-value: oklch(0.279 0.037 260); }
28
- @property --ry-color-text-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.554 0.041 257.4); }
29
- @property --ry-color-text-inverse { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
30
- @property --ry-color-bg { syntax: "<color>"; inherits: true; initial-value: oklch(1 0 0); }
31
- @property --ry-color-bg-subtle { syntax: "<color>"; inherits: true; initial-value: oklch(0.984 0.003 248.2); }
32
- @property --ry-color-bg-muted { syntax: "<color>"; inherits: true; initial-value: oklch(0.968 0.007 248.1); }
33
- @property --ry-color-border { syntax: "<color>"; inherits: true; initial-value: oklch(0.929 0.013 255.6); }
34
- @property --ry-color-border-strong { syntax: "<color>"; inherits: true; initial-value: oklch(0.869 0.02 252.9); }
35
- @property --ry-color-overlay { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.5); }
36
- @property --ry-shadow-color { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.1); }
37
- @property --ry-shadow-color-sm { syntax: "<color>"; inherits: true; initial-value: oklch(0 0 0 / 0.05); }
38
-
39
17
  @property --ry-duration-fast { syntax: "<time>"; inherits: true; initial-value: 100ms; }
40
18
  @property --ry-duration-normal { syntax: "<time>"; inherits: true; initial-value: 200ms; }
41
19
  @property --ry-duration-slow { syntax: "<time>"; inherits: true; initial-value: 300ms; }
@@ -234,7 +212,7 @@
234
212
  --ry-focus-ring: 0 0 0 3px light-dark(oklch(0.623 0.188 259.8 / 0.5), oklch(0.714 0.143 254.6 / 0.5));
235
213
  }
236
214
 
237
- /* Force light or dark mode */
215
+ /* Force light or dark mode (legacy — theme used to conflate theme + mode) */
238
216
  [data-ry-theme="light"] { color-scheme: light; }
239
217
  [data-ry-theme="dark"] { color-scheme: dark; }
240
218
 
@@ -406,6 +384,26 @@ ry-section:last-child {
406
384
  margin-block-end: 0;
407
385
  }
408
386
 
387
+ ry-section[narrow] {
388
+ max-inline-size: 48rem;
389
+ margin-inline: auto;
390
+ }
391
+
392
+ /* Logo bar pattern */
393
+ .ry-logo-bar {
394
+ text-align: center;
395
+ }
396
+
397
+ .ry-logo-bar p {
398
+ margin: 0 0 var(--ry-space-4, 1rem);
399
+ }
400
+
401
+ .ry-logo-bar ry-cluster {
402
+ justify-content: center;
403
+ gap: var(--ry-space-10, 2.5rem);
404
+ flex-wrap: wrap;
405
+ }
406
+
409
407
  /* ═══════════════════════════════════════════════════════════════
410
408
  GRID
411
409
  ═══════════════════════════════════════════════════════════════ */
@@ -2844,12 +2842,14 @@ ry-hero[full-bleed] {
2844
2842
  ry-stat {
2845
2843
  display: flex;
2846
2844
  flex-direction: column;
2845
+ align-items: center;
2846
+ text-align: center;
2847
2847
  gap: var(--ry-space-1, 0.25rem);
2848
2848
  }
2849
2849
 
2850
- ry-stat[align="center"] {
2851
- align-items: center;
2852
- text-align: center;
2850
+ ry-stat[align="left"] {
2851
+ align-items: flex-start;
2852
+ text-align: start;
2853
2853
  }
2854
2854
 
2855
2855
  ry-stat [data-ry-target="value"] {
@@ -2984,6 +2984,7 @@ ry-pricing-card ul li {
2984
2984
 
2985
2985
  ry-pricing-card :is(ry-button, .ry-btn) {
2986
2986
  margin-block-start: auto;
2987
+ width: 100%;
2987
2988
  }
2988
2989
 
2989
2990
  /* ═══════════════════════════════════════════════════════════════
@@ -3091,6 +3092,7 @@ ry-combobox [data-ry-target="arrow"] {
3091
3092
  display: inline-flex;
3092
3093
  align-items: center;
3093
3094
  justify-content: center;
3095
+ margin-inline-end: var(--ry-space-2, 0.5rem);
3094
3096
  cursor: pointer;
3095
3097
  transition: transform var(--ry-duration-fast, 100ms) var(--ry-ease, ease);
3096
3098
  }
@@ -3177,6 +3179,102 @@ ry-combobox [data-ry-target="native"] {
3177
3179
  border: 0;
3178
3180
  }
3179
3181
 
3182
+ /* ═══════════════════════════════════════════════════════════════
3183
+ TESTIMONIAL
3184
+ ═══════════════════════════════════════════════════════════════ */
3185
+
3186
+ ry-testimonial {
3187
+ display: flex;
3188
+ flex-direction: column;
3189
+ align-items: center;
3190
+ text-align: center;
3191
+ gap: var(--ry-space-3, 0.75rem);
3192
+ padding: var(--ry-space-6, 1.5rem);
3193
+ }
3194
+
3195
+ ry-testimonial [data-ry-target="avatar"] {
3196
+ width: 4rem;
3197
+ height: 4rem;
3198
+ border-radius: 9999px;
3199
+ overflow: hidden;
3200
+ flex-shrink: 0;
3201
+ }
3202
+
3203
+ ry-testimonial [data-ry-target="avatar"] img {
3204
+ width: 100%;
3205
+ height: 100%;
3206
+ object-fit: cover;
3207
+ }
3208
+
3209
+ ry-testimonial [data-ry-target="quote"] {
3210
+ margin: 0;
3211
+ max-inline-size: 36rem;
3212
+ }
3213
+
3214
+ ry-testimonial [data-ry-target="stars"] {
3215
+ display: flex;
3216
+ gap: var(--ry-space-1, 0.25rem);
3217
+ }
3218
+
3219
+ ry-testimonial [data-ry-target="stars"] svg {
3220
+ width: 16px;
3221
+ height: 16px;
3222
+ }
3223
+
3224
+ ry-testimonial [data-ry-target="attribution"] {
3225
+ display: flex;
3226
+ flex-direction: column;
3227
+ gap: var(--ry-space-1, 0.25rem);
3228
+ }
3229
+
3230
+ /* ═══════════════════════════════════════════════════════════════
3231
+ THEME PANEL
3232
+ ═══════════════════════════════════════════════════════════════ */
3233
+
3234
+ ry-theme-panel {
3235
+ position: fixed;
3236
+ inset-block-end: var(--ry-space-4, 1rem);
3237
+ inset-inline-end: var(--ry-space-4, 1rem);
3238
+ z-index: var(--ry-z-fixed, 1000);
3239
+ }
3240
+
3241
+ ry-theme-panel [data-ry-target="panel"] {
3242
+ display: flex;
3243
+ flex-direction: column;
3244
+ gap: var(--ry-space-2, 0.5rem);
3245
+ padding: var(--ry-space-3, 0.75rem);
3246
+ }
3247
+
3248
+ ry-theme-panel [data-ry-target="theme-row"],
3249
+ ry-theme-panel [data-ry-target="mode-row"] {
3250
+ display: flex;
3251
+ align-items: center;
3252
+ gap: var(--ry-space-3, 0.75rem);
3253
+ }
3254
+
3255
+ ry-theme-panel [data-ry-target="theme-options"],
3256
+ ry-theme-panel [data-ry-target="mode-options"] {
3257
+ display: flex;
3258
+ gap: var(--ry-space-1, 0.25rem);
3259
+ }
3260
+
3261
+ ry-theme-panel [data-ry-target="label"] {
3262
+ min-inline-size: 3rem;
3263
+ text-transform: uppercase;
3264
+ letter-spacing: 0.05em;
3265
+ }
3266
+
3267
+ ry-theme-panel [data-ry-target="theme-btn"],
3268
+ ry-theme-panel [data-ry-target="mode-btn"] {
3269
+ padding: var(--ry-space-1, 0.25rem) var(--ry-space-2, 0.5rem);
3270
+ font: inherit;
3271
+ font-size: 0.6875rem;
3272
+ cursor: pointer;
3273
+ border: none;
3274
+ background: none;
3275
+ line-height: 1;
3276
+ }
3277
+
3180
3278
  } /* @layer ry-structure */
3181
3279
 
3182
3280
  /**
@@ -3252,6 +3350,25 @@ ry-header {
3252
3350
  border-block-end: var(--ry-border-width) solid var(--ry-color-border);
3253
3351
  }
3254
3352
 
3353
+ ry-header strong {
3354
+ font-size: var(--ry-text-xl);
3355
+ }
3356
+
3357
+ ry-header span {
3358
+ color: var(--ry-color-text-muted);
3359
+ }
3360
+
3361
+ ry-header a:not(.ry-btn) {
3362
+ color: var(--ry-color-text-muted);
3363
+ text-decoration: none;
3364
+ font-size: var(--ry-text-sm);
3365
+ transition: color var(--ry-duration-fast);
3366
+ }
3367
+
3368
+ ry-header a:not(.ry-btn):hover {
3369
+ color: var(--ry-color-text);
3370
+ }
3371
+
3255
3372
  /* ═══════════════════════════════════════════════════════════════
3256
3373
  FOOTER
3257
3374
  ═══════════════════════════════════════════════════════════════ */
@@ -3262,6 +3379,16 @@ ry-footer {
3262
3379
  color: var(--ry-color-text-muted);
3263
3380
  }
3264
3381
 
3382
+ ry-footer a {
3383
+ color: inherit;
3384
+ text-decoration: none;
3385
+ transition: color var(--ry-duration-fast);
3386
+ }
3387
+
3388
+ ry-footer a:hover {
3389
+ color: var(--ry-color-text);
3390
+ }
3391
+
3265
3392
  /* ═══════════════════════════════════════════════════════════════
3266
3393
  NAV
3267
3394
  ═══════════════════════════════════════════════════════════════ */
@@ -3864,7 +3991,7 @@ ry-card {
3864
3991
  }
3865
3992
 
3866
3993
  :is(a, [interactive]):is(ry-card):hover {
3867
- border-color: var(--ry-color-border-strong);
3994
+ border-color: var(--ry-color-primary);
3868
3995
  box-shadow: var(--ry-shadow-md);
3869
3996
  }
3870
3997
 
@@ -5407,7 +5534,7 @@ ry-combobox:hover .ry-combobox__input-wrapper {
5407
5534
 
5408
5535
  ry-combobox:focus-within .ry-combobox__input-wrapper {
5409
5536
  border-color: var(--ry-color-primary);
5410
- box-shadow: var(--ry-focus-ring);
5537
+ box-shadow: 0 0 0 1px var(--ry-color-primary);
5411
5538
  }
5412
5539
 
5413
5540
  ry-combobox[data-ry-state="open"] .ry-combobox__input-wrapper {
@@ -5419,6 +5546,12 @@ ry-combobox[data-ry-state="open"] .ry-combobox__input-wrapper {
5419
5546
  color: var(--ry-color-text);
5420
5547
  }
5421
5548
 
5549
+ .ry-combobox__input:focus,
5550
+ .ry-combobox__input:focus-visible {
5551
+ outline: none;
5552
+ box-shadow: none;
5553
+ }
5554
+
5422
5555
  .ry-combobox__input::placeholder {
5423
5556
  color: var(--ry-color-text-muted);
5424
5557
  }
@@ -5464,4 +5597,108 @@ ry-combobox[data-ry-state="open"] .ry-combobox__input-wrapper {
5464
5597
  color: var(--ry-color-text-muted);
5465
5598
  }
5466
5599
 
5600
+ /* ═══════════════════════════════════════════════════════════════
5601
+ LOGO BAR
5602
+ ═══════════════════════════════════════════════════════════════ */
5603
+
5604
+ .ry-logo-bar p {
5605
+ color: var(--ry-color-text-muted);
5606
+ font-size: var(--ry-text-sm);
5607
+ text-transform: uppercase;
5608
+ letter-spacing: 0.1em;
5609
+ }
5610
+
5611
+ .ry-logo-bar span {
5612
+ font-size: var(--ry-text-2xl);
5613
+ font-weight: var(--ry-font-bold);
5614
+ color: var(--ry-color-text);
5615
+ opacity: 0.5;
5616
+ }
5617
+
5618
+ /* ═══════════════════════════════════════════════════════════════
5619
+ TESTIMONIAL
5620
+ ═══════════════════════════════════════════════════════════════ */
5621
+
5622
+ .ry-testimonial__quote {
5623
+ font-size: var(--ry-text-lg);
5624
+ font-style: italic;
5625
+ line-height: var(--ry-leading-relaxed);
5626
+ color: var(--ry-color-text);
5627
+ }
5628
+
5629
+ .ry-testimonial__name {
5630
+ font-weight: var(--ry-font-semibold);
5631
+ color: var(--ry-color-text);
5632
+ }
5633
+
5634
+ .ry-testimonial__role {
5635
+ font-size: var(--ry-text-sm);
5636
+ color: var(--ry-color-text-muted);
5637
+ }
5638
+
5639
+ .ry-testimonial__star {
5640
+ color: var(--ry-color-warning);
5641
+ }
5642
+
5643
+ .ry-testimonial__star svg {
5644
+ fill: var(--ry-color-warning);
5645
+ }
5646
+
5647
+ .ry-testimonial__avatar {
5648
+ background-color: var(--ry-color-bg-muted);
5649
+ border: 2px solid var(--ry-color-border);
5650
+ }
5651
+
5652
+ /* ═══════════════════════════════════════════════════════════════
5653
+ "NONE" THEME — flat, no flourish
5654
+ Default theme minus radii, shadows, and decorative extras.
5655
+ Proves FORM/THEME separation: structure handles all layout.
5656
+ ═══════════════════════════════════════════════════════════════ */
5657
+
5658
+ [data-ry-theme="none"] {
5659
+ --ry-radius-sm: 0;
5660
+ --ry-radius-md: 0;
5661
+ --ry-radius-lg: 0;
5662
+ --ry-radius-xl: 0;
5663
+ --ry-radius-2xl: 0;
5664
+ --ry-radius-full: 0;
5665
+ --ry-shadow-sm: none;
5666
+ --ry-shadow-md: none;
5667
+ --ry-shadow-lg: none;
5668
+ --ry-shadow-xl: none;
5669
+ }
5670
+
5671
+ /* ═══════════════════════════════════════════════════════════════
5672
+ THEME PANEL
5673
+ ═══════════════════════════════════════════════════════════════ */
5674
+
5675
+ .ry-theme-panel {
5676
+ font-family: var(--ry-font-sans);
5677
+ background-color: var(--ry-color-bg);
5678
+ border-radius: var(--ry-radius-lg);
5679
+ box-shadow: var(--ry-shadow-lg);
5680
+ border: 1px solid var(--ry-color-border);
5681
+ }
5682
+
5683
+ .ry-theme-panel__label {
5684
+ color: var(--ry-color-text-muted);
5685
+ font-weight: 600;
5686
+ font-size: 0.6875rem;
5687
+ }
5688
+
5689
+ .ry-theme-panel__btn {
5690
+ border-radius: var(--ry-radius-sm);
5691
+ color: var(--ry-color-text-muted);
5692
+ transition: background-color var(--ry-duration-fast);
5693
+ }
5694
+
5695
+ .ry-theme-panel__btn:hover {
5696
+ background-color: var(--ry-color-bg-muted);
5697
+ }
5698
+
5699
+ .ry-theme-panel__btn[aria-pressed="true"] {
5700
+ background-color: var(--ry-color-primary);
5701
+ color: var(--ry-color-text-inverse);
5702
+ }
5703
+
5467
5704
  } /* @layer ry-theme */