@refrakt-md/lumina 0.33.0 → 0.34.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 (141) hide show
  1. package/base.css +29 -29
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js.map +1 -1
  4. package/dist/icons.d.ts.map +1 -1
  5. package/dist/icons.js +57 -57
  6. package/dist/icons.js.map +1 -1
  7. package/dist/presets/catppuccin.js.map +1 -1
  8. package/dist/presets/dracula.js.map +1 -1
  9. package/dist/presets/gruvbox.js.map +1 -1
  10. package/dist/presets/niwaki.js.map +1 -1
  11. package/dist/presets/nord.js.map +1 -1
  12. package/dist/presets/one-dark.js.map +1 -1
  13. package/dist/presets/solarized.js.map +1 -1
  14. package/dist/presets/tideline.d.ts.map +1 -1
  15. package/dist/presets/tideline.js +20 -4
  16. package/dist/presets/tideline.js.map +1 -1
  17. package/dist/presets/tokyo-night.js.map +1 -1
  18. package/dist/tokens.js.map +1 -1
  19. package/index.css +124 -124
  20. package/package.json +5 -5
  21. package/presets.json +61 -13
  22. package/styles/base/attributes.css +32 -13
  23. package/styles/dimensions/checklist.css +45 -46
  24. package/styles/dimensions/cover.css +71 -51
  25. package/styles/dimensions/density.css +69 -65
  26. package/styles/dimensions/frame.css +116 -57
  27. package/styles/dimensions/metadata.css +110 -103
  28. package/styles/dimensions/motion.css +42 -13
  29. package/styles/dimensions/reading.css +27 -27
  30. package/styles/dimensions/sections.css +44 -45
  31. package/styles/dimensions/sequence.css +56 -57
  32. package/styles/dimensions/state.css +8 -2
  33. package/styles/dimensions/substrate.css +82 -58
  34. package/styles/dimensions/surfaces.css +65 -62
  35. package/styles/elements/blockquote.css +24 -25
  36. package/styles/elements/code.css +72 -71
  37. package/styles/elements/table.css +36 -37
  38. package/styles/global.css +163 -121
  39. package/styles/layouts/blog.css +219 -218
  40. package/styles/layouts/default.css +168 -167
  41. package/styles/layouts/docs.css +121 -122
  42. package/styles/layouts/mobile.css +54 -55
  43. package/styles/layouts/on-this-page.css +46 -47
  44. package/styles/layouts/plan.css +248 -247
  45. package/styles/layouts/search.css +142 -140
  46. package/styles/layouts/split.css +45 -45
  47. package/styles/layouts/theme-toggle.css +33 -31
  48. package/styles/layouts/version-switcher.css +38 -37
  49. package/styles/runes/accordion.css +90 -81
  50. package/styles/runes/aggregate.css +50 -39
  51. package/styles/runes/annotate.css +46 -45
  52. package/styles/runes/api.css +22 -23
  53. package/styles/runes/audio.css +140 -141
  54. package/styles/runes/badge.css +12 -13
  55. package/styles/runes/bar.css +4 -5
  56. package/styles/runes/bento.css +73 -62
  57. package/styles/runes/bg.css +62 -47
  58. package/styles/runes/blog.css +89 -90
  59. package/styles/runes/bond.css +49 -50
  60. package/styles/runes/breadcrumb.css +34 -35
  61. package/styles/runes/budget.css +126 -127
  62. package/styles/runes/bug.css +28 -27
  63. package/styles/runes/card.css +63 -60
  64. package/styles/runes/carousel.css +15 -15
  65. package/styles/runes/cast.css +50 -51
  66. package/styles/runes/changelog.css +45 -46
  67. package/styles/runes/character.css +31 -32
  68. package/styles/runes/chart.css +194 -106
  69. package/styles/runes/codegroup.css +109 -100
  70. package/styles/runes/collection.css +87 -86
  71. package/styles/runes/compare.css +38 -39
  72. package/styles/runes/comparison.css +205 -179
  73. package/styles/runes/conversation.css +36 -33
  74. package/styles/runes/cta.css +135 -132
  75. package/styles/runes/datatable.css +84 -83
  76. package/styles/runes/decision.css +25 -26
  77. package/styles/runes/design-context.css +21 -23
  78. package/styles/runes/details.css +26 -27
  79. package/styles/runes/diagram.css +28 -29
  80. package/styles/runes/diff.css +75 -72
  81. package/styles/runes/drawer.css +276 -198
  82. package/styles/runes/embed.css +20 -21
  83. package/styles/runes/event.css +35 -36
  84. package/styles/runes/expand.css +43 -34
  85. package/styles/runes/faction.css +47 -48
  86. package/styles/runes/feature.css +119 -112
  87. package/styles/runes/figure.css +11 -12
  88. package/styles/runes/file-ref.css +11 -13
  89. package/styles/runes/form.css +155 -154
  90. package/styles/runes/gallery.css +59 -60
  91. package/styles/runes/grid.css +10 -7
  92. package/styles/runes/hero.css +189 -185
  93. package/styles/runes/hint.css +57 -58
  94. package/styles/runes/howto.css +62 -64
  95. package/styles/runes/itinerary.css +133 -134
  96. package/styles/runes/juxtapose.css +83 -82
  97. package/styles/runes/lore.css +32 -34
  98. package/styles/runes/map.css +106 -99
  99. package/styles/runes/mediatext.css +30 -27
  100. package/styles/runes/milestone.css +98 -97
  101. package/styles/runes/mockup.css +338 -335
  102. package/styles/runes/nav.css +465 -450
  103. package/styles/runes/organization.css +23 -20
  104. package/styles/runes/page-section.css +14 -15
  105. package/styles/runes/pagination.css +45 -44
  106. package/styles/runes/palette.css +78 -80
  107. package/styles/runes/placeholder.css +8 -9
  108. package/styles/runes/plan-history.css +160 -161
  109. package/styles/runes/plan-progress.css +15 -16
  110. package/styles/runes/plan-ref.css +32 -23
  111. package/styles/runes/playlist.css +106 -107
  112. package/styles/runes/plot.css +92 -91
  113. package/styles/runes/preview.css +152 -149
  114. package/styles/runes/pricing.css +133 -123
  115. package/styles/runes/progress.css +32 -27
  116. package/styles/runes/pullquote.css +89 -90
  117. package/styles/runes/realm.css +47 -48
  118. package/styles/runes/recipe.css +112 -114
  119. package/styles/runes/relationships.css +77 -76
  120. package/styles/runes/reveal.css +90 -79
  121. package/styles/runes/sandbox.css +59 -60
  122. package/styles/runes/section.css +57 -50
  123. package/styles/runes/showcase.css +35 -16
  124. package/styles/runes/sidenote.css +30 -27
  125. package/styles/runes/snippet.css +8 -9
  126. package/styles/runes/spacing.css +86 -88
  127. package/styles/runes/spec.css +24 -25
  128. package/styles/runes/steps.css +89 -80
  129. package/styles/runes/storyboard.css +46 -45
  130. package/styles/runes/swatch.css +22 -23
  131. package/styles/runes/symbol.css +117 -118
  132. package/styles/runes/tabs.css +88 -79
  133. package/styles/runes/testimonial.css +43 -44
  134. package/styles/runes/textblock.css +32 -28
  135. package/styles/runes/timeline.css +63 -64
  136. package/styles/runes/tint.css +214 -215
  137. package/styles/runes/toc.css +40 -41
  138. package/styles/runes/track.css +89 -90
  139. package/styles/runes/typography.css +89 -91
  140. package/styles/runes/work.css +47 -36
  141. package/styles/runes/xref.css +21 -22
@@ -1,37 +1,46 @@
1
1
  @layer skin {
2
- /* Expand — skin. The inline-block canonical-link box lives in @refrakt-md/skeleton
2
+ /* Expand — skin. The inline-block canonical-link box lives in @refrakt-md/skeleton
3
3
  * (styles/runes/expand.css). */
4
- .rf-expand {
5
- margin: var(--rf-spacing-md) 0;
6
- }
7
- .rf-expand[data-outline-scope] {
8
- padding: var(--rf-spacing-md) 0;
9
- }
10
- .rf-expand[data-outline-scope] :is(h1, h2, h3, h4, h5, h6):first-child {
11
- margin-top: 0;
12
- }
13
- .rf-expand[data-outline-scope] h1 { font-size: var(--rf-text-2xl); }
14
- .rf-expand[data-outline-scope] h2 { font-size: var(--rf-text-xl); }
15
- .rf-expand[data-outline-scope] h3 { font-size: var(--rf-text-lg); }
16
- .rf-expand > :first-child { margin-top: 0; }
17
- .rf-expand > :last-child { margin-bottom: 0; }
18
- .rf-expand__canonical-link {
19
- margin-top: var(--rf-spacing-sm);
20
- font-size: var(--rf-text-sm);
21
- color: var(--rf-color-primary);
22
- text-decoration: none;
23
- }
24
- .rf-expand__canonical-link:hover {
25
- text-decoration: underline;
26
- }
27
- .rf-expand[data-expand-error] {
28
- padding: var(--rf-spacing-sm) var(--rf-spacing-md);
29
- border-left: 3px solid var(--rf-color-danger);
30
- background: var(--rf-color-danger-bg);
31
- color: var(--rf-color-danger);
32
- font-family: var(--rf-font-mono);
33
- font-size: var(--rf-text-sm);
34
- border-radius: 0 var(--rf-radius-sm) var(--rf-radius-sm) 0;
35
- }
36
-
4
+ .rf-expand {
5
+ margin: var(--rf-spacing-md) 0;
6
+ }
7
+ .rf-expand[data-outline-scope] {
8
+ padding: var(--rf-spacing-md) 0;
9
+ }
10
+ .rf-expand[data-outline-scope] :is(h1, h2, h3, h4, h5, h6):first-child {
11
+ margin-top: 0;
12
+ }
13
+ .rf-expand[data-outline-scope] h1 {
14
+ font-size: var(--rf-text-2xl);
15
+ }
16
+ .rf-expand[data-outline-scope] h2 {
17
+ font-size: var(--rf-text-xl);
18
+ }
19
+ .rf-expand[data-outline-scope] h3 {
20
+ font-size: var(--rf-text-lg);
21
+ }
22
+ .rf-expand > :first-child {
23
+ margin-top: 0;
24
+ }
25
+ .rf-expand > :last-child {
26
+ margin-bottom: 0;
27
+ }
28
+ .rf-expand__canonical-link {
29
+ margin-top: var(--rf-spacing-sm);
30
+ font-size: var(--rf-text-sm);
31
+ color: var(--rf-color-primary);
32
+ text-decoration: none;
33
+ }
34
+ .rf-expand__canonical-link:hover {
35
+ text-decoration: underline;
36
+ }
37
+ .rf-expand[data-expand-error] {
38
+ padding: var(--rf-spacing-sm) var(--rf-spacing-md);
39
+ border-left: 3px solid var(--rf-color-danger);
40
+ background: var(--rf-color-danger-bg);
41
+ color: var(--rf-color-danger);
42
+ font-family: var(--rf-font-mono);
43
+ font-size: var(--rf-text-sm);
44
+ border-radius: 0 var(--rf-radius-sm) var(--rf-radius-sm) 0;
45
+ }
37
46
  }
@@ -1,65 +1,64 @@
1
1
  @layer skin {
2
- /* Faction — split/stacked geometry, the title, and the metadata def-list all
2
+ /* Faction — split/stacked geometry, the title, and the metadata def-list all
3
3
  * come from the shared layers: layouts/split.css ([data-layout] +
4
4
  * [data-section="media"]), dimensions/sections.css ([data-section="title"] /
5
5
  * "preamble"), and dimensions/metadata.css ([data-zone-layout]). This file
6
6
  * only carries faction-specific chrome. */
7
7
 
8
- /* Thin-edge inset model (matches `.rf-card` / `.rf-recipe`): card outer padding
8
+ /* Thin-edge inset model (matches `.rf-card` / `.rf-recipe`): card outer padding
9
9
  * is a thin edge, the content column adds the remaining inset back so text sits
10
10
  * at the full `--rune-padding` without negative-margin bleed. Like recipe, no
11
11
  * `--split-valign: stretch` — faction content can be long (multiple sections),
12
12
  * so we let the scene keep its natural aspect ratio rather than cover-cropping. */
13
- .rf-faction {
14
- --rf-faction-edge: 0.5rem;
15
- --rf-faction-media-gap: var(--rf-spacing-lg);
16
- --rf-faction-split-gap: var(--rf-spacing-sm);
17
- padding: var(--rf-faction-edge);
18
- }
13
+ .rf-faction {
14
+ --rf-faction-edge: 0.5rem;
15
+ --rf-faction-media-gap: var(--rf-spacing-lg);
16
+ --rf-faction-split-gap: var(--rf-spacing-sm);
17
+ padding: var(--rf-faction-edge);
18
+ }
19
19
 
20
- .rf-faction__content {
21
- padding: max(0px, calc(var(--rune-padding, var(--rf-spacing-md)) - var(--rf-faction-edge)));
22
- }
20
+ .rf-faction__content {
21
+ padding: max(0px, calc(var(--rune-padding, var(--rf-spacing-md)) - var(--rf-faction-edge)));
22
+ }
23
23
 
24
- /* Direct grid properties (column-gap / row-gap) win via selector specificity
24
+ /* Direct grid properties (column-gap / row-gap) win via selector specificity
25
25
  * over the shared media-position layout vars. */
26
- .rf-faction[data-media-position="start"],
27
- .rf-faction[data-media-position="end"] {
28
- column-gap: var(--rf-faction-split-gap);
29
- row-gap: var(--rf-faction-media-gap);
30
- }
26
+ .rf-faction[data-media-position="start"],
27
+ .rf-faction[data-media-position="end"] {
28
+ column-gap: var(--rf-faction-split-gap);
29
+ row-gap: var(--rf-faction-media-gap);
30
+ }
31
31
 
32
- .rf-faction[data-media-position="top"] > .rf-faction__scene {
33
- margin-bottom: var(--rf-faction-media-gap);
34
- }
35
- .rf-faction[data-media-position="bottom"] > .rf-faction__scene {
36
- margin-top: var(--rf-faction-media-gap);
37
- }
32
+ .rf-faction[data-media-position="top"] > .rf-faction__scene {
33
+ margin-bottom: var(--rf-faction-media-gap);
34
+ }
35
+ .rf-faction[data-media-position="bottom"] > .rf-faction__scene {
36
+ margin-top: var(--rf-faction-media-gap);
37
+ }
38
38
 
39
- /* Content */
40
- .rf-faction__sections {
41
- gap: 1rem;
42
- }
43
- .rf-faction__content ul,
44
- .rf-faction__content ol {
45
- padding-left: 1.5rem;
46
- }
47
-
48
- /* Faction Section */
49
- .rf-faction-section {
50
- padding: 0.75rem 0;
51
- border-top: 1px solid var(--rf-color-border);
52
- }
53
- .rf-faction-section__name {
54
- font-size: var(--rf-text-xl);
55
- font-weight: var(--rf-weight-bold);
56
- line-height: var(--rf-leading-snug);
57
- margin-bottom: 0.5rem;
58
- color: var(--rf-color-text);
59
- }
60
- .rf-faction-section__body ul,
61
- .rf-faction-section__body ol {
62
- padding-left: 1.5rem;
63
- }
39
+ /* Content */
40
+ .rf-faction__sections {
41
+ gap: 1rem;
42
+ }
43
+ .rf-faction__content ul,
44
+ .rf-faction__content ol {
45
+ padding-left: 1.5rem;
46
+ }
64
47
 
48
+ /* Faction Section */
49
+ .rf-faction-section {
50
+ padding: 0.75rem 0;
51
+ border-top: 1px solid var(--rf-color-border);
52
+ }
53
+ .rf-faction-section__name {
54
+ font-size: var(--rf-text-xl);
55
+ font-weight: var(--rf-weight-bold);
56
+ line-height: var(--rf-leading-snug);
57
+ margin-bottom: 0.5rem;
58
+ color: var(--rf-color-text);
59
+ }
60
+ .rf-faction-section__body ul,
61
+ .rf-faction-section__body ol {
62
+ padding-left: 1.5rem;
63
+ }
65
64
  }
@@ -1,119 +1,126 @@
1
1
  @layer skin {
2
- /* Feature — skin. The preamble/eyebrow/content/definitions/icon layout, the
2
+ /* Feature — skin. The preamble/eyebrow/content/definitions/icon layout, the
3
3
  * `[data-layout]` arrangement, and the media-position flip live in
4
4
  * @refrakt-md/skeleton (styles/runes/feature.css). */
5
- .rf-feature {
6
- padding: 2.5rem 0 2rem;
7
- }
8
- .rf-feature__preamble {
9
- gap: 0.25rem;
10
- margin-bottom: 1.5rem;
11
- }
12
- .rf-feature__eyebrow {
13
- font-size: var(--rf-text-sm);
14
- font-weight: var(--rf-weight-semibold);
15
- letter-spacing: var(--rf-tracking-wider);
16
- text-transform: uppercase;
17
- color: var(--rf-color-primary);
18
- margin: 0 0 0.5rem;
19
- }
20
- .rf-feature__eyebrow:has(a) {
21
- padding: 0.25rem 0.875rem;
22
- border: 1px solid var(--rf-color-border);
23
- border-radius: var(--rf-radius-full);
24
- color: var(--rf-color-text);
25
- font-weight: var(--rf-weight-normal);
26
- text-transform: none;
27
- letter-spacing: var(--rf-tracking-normal);
28
- transition: border-color 150ms ease;
29
- }
30
- .rf-feature__eyebrow:has(a):hover { border-color: var(--rf-color-muted); }
31
- .rf-feature__eyebrow:has(a) a { color: var(--rf-color-primary); font-weight: var(--rf-weight-semibold); text-decoration: none; }
32
- .rf-feature__eyebrow:has(a) a::before { border-radius: inherit; }
33
- .rf-feature__headline {
34
- margin-top: 0;
35
- }
36
- .rf-feature__blurb {
37
- color: var(--rf-color-muted);
38
- margin-bottom: 0;
39
- max-width: 40rem;
40
- }
41
- .rf-feature__image {
42
- margin-bottom: 1rem;
43
- }
44
- .rf-feature h2 {
45
- margin-bottom: 2rem;
46
- }
47
- .rf-feature[data-align="center"] .rf-feature__preamble,
48
- .rf-feature[data-align="center"] h2 {
49
- text-align: center;
50
- }
51
- .rf-feature[data-align="left"] .rf-feature__preamble,
52
- .rf-feature[data-align="left"] h2 {
53
- text-align: left;
54
- }
55
- .rf-feature[data-align="right"] .rf-feature__preamble,
56
- .rf-feature[data-align="right"] h2 {
57
- text-align: right;
58
- }
59
- /* Definitions skin. Arrangement + item chrome follow the `layout` axis
5
+ .rf-feature {
6
+ padding: 2.5rem 0 2rem;
7
+ }
8
+ .rf-feature__preamble {
9
+ gap: 0.25rem;
10
+ margin-bottom: 1.5rem;
11
+ }
12
+ .rf-feature__eyebrow {
13
+ font-size: var(--rf-text-sm);
14
+ font-weight: var(--rf-weight-semibold);
15
+ letter-spacing: var(--rf-tracking-wider);
16
+ text-transform: uppercase;
17
+ color: var(--rf-color-primary);
18
+ margin: 0 0 0.5rem;
19
+ }
20
+ .rf-feature__eyebrow:has(a) {
21
+ padding: 0.25rem 0.875rem;
22
+ border: 1px solid var(--rf-color-border);
23
+ border-radius: var(--rf-radius-full);
24
+ color: var(--rf-color-text);
25
+ font-weight: var(--rf-weight-normal);
26
+ text-transform: none;
27
+ letter-spacing: var(--rf-tracking-normal);
28
+ transition: border-color 150ms ease;
29
+ }
30
+ .rf-feature__eyebrow:has(a):hover {
31
+ border-color: var(--rf-color-muted);
32
+ }
33
+ .rf-feature__eyebrow:has(a) a {
34
+ color: var(--rf-color-primary);
35
+ font-weight: var(--rf-weight-semibold);
36
+ text-decoration: none;
37
+ }
38
+ .rf-feature__eyebrow:has(a) a::before {
39
+ border-radius: inherit;
40
+ }
41
+ .rf-feature__headline {
42
+ margin-top: 0;
43
+ }
44
+ .rf-feature__blurb {
45
+ color: var(--rf-color-muted);
46
+ margin-bottom: 0;
47
+ max-width: 40rem;
48
+ }
49
+ .rf-feature__image {
50
+ margin-bottom: 1rem;
51
+ }
52
+ .rf-feature h2 {
53
+ margin-bottom: 2rem;
54
+ }
55
+ .rf-feature[data-align="center"] .rf-feature__preamble,
56
+ .rf-feature[data-align="center"] h2 {
57
+ text-align: center;
58
+ }
59
+ .rf-feature[data-align="left"] .rf-feature__preamble,
60
+ .rf-feature[data-align="left"] h2 {
61
+ text-align: left;
62
+ }
63
+ .rf-feature[data-align="right"] .rf-feature__preamble,
64
+ .rf-feature[data-align="right"] h2 {
65
+ text-align: right;
66
+ }
67
+ /* Definitions skin. Arrangement + item chrome follow the `layout` axis
60
68
  * (SPEC-099): `grid` tiles carded items; `list` stacks flat rows. */
61
- .rf-feature__items {
62
- margin: 0;
63
- }
64
- .rf-feature[data-layout="grid"] .rf-feature__items,
65
- .rf-feature[data-layout="carousel"] .rf-feature__items {
66
- gap: 1.5rem;
67
- }
68
- /* Beside layouts (media on start/end): left-align the heading/preamble. */
69
- .rf-feature[data-media-position="start"] .rf-feature__preamble,
70
- .rf-feature[data-media-position="end"] .rf-feature__preamble,
71
- .rf-feature[data-media-position="start"] h2,
72
- .rf-feature[data-media-position="end"] h2 {
73
- text-align: left;
74
- }
75
- /* List arrangement: items are flat rows, not carded tiles. */
76
- .rf-feature[data-layout="list"] .rf-feature__feature-item {
77
- background: none;
78
- border: none;
79
- border-radius: 0;
80
- padding: 0.75rem 0;
81
- }
82
- .rf-feature__feature-item {
83
- padding: 1.75rem;
84
- border-radius: var(--rf-radius-container);
85
- border: 1px solid var(--rf-color-border);
86
- background: var(--rf-color-surface);
87
- }
88
- .rf-feature__feature-item dt {
89
- font-weight: var(--rf-weight-semibold);
90
- font-size: var(--rf-text-lg);
91
- margin-bottom: 0.75rem;
92
- letter-spacing: var(--rf-tracking-tight);
93
- color: var(--rf-color-text);
94
- }
95
- .rf-feature__feature-item dt > .rf-icon {
96
- margin-bottom: 0.5rem;
97
- color: var(--rf-color-primary);
98
- }
99
- .rf-feature__feature-item dd {
100
- margin: 0;
101
- color: var(--rf-color-muted);
102
- font-size: var(--rf-text-sm);
103
- line-height: var(--rf-leading-relaxed);
104
- }
69
+ .rf-feature__items {
70
+ margin: 0;
71
+ }
72
+ .rf-feature[data-layout="grid"] .rf-feature__items,
73
+ .rf-feature[data-layout="carousel"] .rf-feature__items {
74
+ gap: 1.5rem;
75
+ }
76
+ /* Beside layouts (media on start/end): left-align the heading/preamble. */
77
+ .rf-feature[data-media-position="start"] .rf-feature__preamble,
78
+ .rf-feature[data-media-position="end"] .rf-feature__preamble,
79
+ .rf-feature[data-media-position="start"] h2,
80
+ .rf-feature[data-media-position="end"] h2 {
81
+ text-align: left;
82
+ }
83
+ /* List arrangement: items are flat rows, not carded tiles. */
84
+ .rf-feature[data-layout="list"] .rf-feature__feature-item {
85
+ background: none;
86
+ border: none;
87
+ border-radius: 0;
88
+ padding: 0.75rem 0;
89
+ }
90
+ .rf-feature__feature-item {
91
+ padding: 1.75rem;
92
+ border-radius: var(--rf-radius-container);
93
+ border: 1px solid var(--rf-color-border);
94
+ background: var(--rf-color-surface);
95
+ }
96
+ .rf-feature__feature-item dt {
97
+ font-weight: var(--rf-weight-semibold);
98
+ font-size: var(--rf-text-lg);
99
+ margin-bottom: 0.75rem;
100
+ letter-spacing: var(--rf-tracking-tight);
101
+ color: var(--rf-color-text);
102
+ }
103
+ .rf-feature__feature-item dt > .rf-icon {
104
+ margin-bottom: 0.5rem;
105
+ color: var(--rf-color-primary);
106
+ }
107
+ .rf-feature__feature-item dd {
108
+ margin: 0;
109
+ color: var(--rf-color-muted);
110
+ font-size: var(--rf-text-sm);
111
+ line-height: var(--rf-leading-relaxed);
112
+ }
105
113
 
106
- /* Context-aware: feature inside a hero — no top padding, tighter spacing */
107
- .rf-feature--in-hero {
108
- padding-top: 0;
109
- }
110
- .rf-feature--in-hero .rf-feature__feature-item {
111
- background: transparent;
112
- }
113
-
114
- /* Context-aware: feature inside a grid — remove outer padding */
115
- .rf-feature--in-grid {
116
- padding: 0;
117
- }
114
+ /* Context-aware: feature inside a hero — no top padding, tighter spacing */
115
+ .rf-feature--in-hero {
116
+ padding-top: 0;
117
+ }
118
+ .rf-feature--in-hero .rf-feature__feature-item {
119
+ background: transparent;
120
+ }
118
121
 
122
+ /* Context-aware: feature inside a grid — remove outer padding */
123
+ .rf-feature--in-grid {
124
+ padding: 0;
125
+ }
119
126
  }
@@ -1,15 +1,14 @@
1
1
  @layer skin {
2
- /* Figure — skin. The image box, frame-aspect fill, size max-widths, and alignment
2
+ /* Figure — skin. The image box, frame-aspect fill, size max-widths, and alignment
3
3
  * auto-margins live in @refrakt-md/skeleton (styles/runes/figure.css). */
4
- .rf-figure :is(img, .rf-placeholder) {
5
- border-radius: var(--rf-radius-media);
6
- }
7
- .rf-figure figcaption {
8
- margin-top: 0.625rem;
9
- font-size: var(--rf-text-sm);
10
- color: var(--rf-color-muted);
11
- text-align: center;
12
- font-style: italic;
13
- }
14
-
4
+ .rf-figure :is(img, .rf-placeholder) {
5
+ border-radius: var(--rf-radius-media);
6
+ }
7
+ .rf-figure figcaption {
8
+ margin-top: 0.625rem;
9
+ font-size: var(--rf-text-sm);
10
+ color: var(--rf-color-muted);
11
+ text-align: center;
12
+ font-style: italic;
13
+ }
15
14
  }
@@ -1,16 +1,14 @@
1
1
  @layer skin {
2
+ .rf-file-ref > a {
3
+ color: var(--rf-color-primary);
4
+ text-decoration: underline;
5
+ text-decoration-thickness: 1px;
6
+ text-underline-offset: 2px;
7
+ font-family: var(--rf-font-mono, ui-monospace, SFMono-Regular, monospace);
8
+ font-size: 0.9375em;
9
+ }
2
10
 
3
- .rf-file-ref > a {
4
- color: var(--rf-color-primary);
5
- text-decoration: underline;
6
- text-decoration-thickness: 1px;
7
- text-underline-offset: 2px;
8
- font-family: var(--rf-font-mono, ui-monospace, SFMono-Regular, monospace);
9
- font-size: 0.9375em;
10
- }
11
-
12
- .rf-file-ref > a:hover {
13
- text-decoration-thickness: 2px;
14
- }
15
-
11
+ .rf-file-ref > a:hover {
12
+ text-decoration-thickness: 2px;
13
+ }
16
14
  }