@refrakt-md/lumina 0.33.0 → 0.35.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 (142) hide show
  1. package/base.css +29 -29
  2. package/contracts/structures.json +623 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/icons.d.ts.map +1 -1
  6. package/dist/icons.js +57 -57
  7. package/dist/icons.js.map +1 -1
  8. package/dist/presets/catppuccin.js.map +1 -1
  9. package/dist/presets/dracula.js.map +1 -1
  10. package/dist/presets/gruvbox.js.map +1 -1
  11. package/dist/presets/niwaki.js.map +1 -1
  12. package/dist/presets/nord.js.map +1 -1
  13. package/dist/presets/one-dark.js.map +1 -1
  14. package/dist/presets/solarized.js.map +1 -1
  15. package/dist/presets/tideline.d.ts.map +1 -1
  16. package/dist/presets/tideline.js +20 -4
  17. package/dist/presets/tideline.js.map +1 -1
  18. package/dist/presets/tokyo-night.js.map +1 -1
  19. package/dist/tokens.js.map +1 -1
  20. package/index.css +124 -124
  21. package/package.json +5 -5
  22. package/presets.json +61 -13
  23. package/styles/base/attributes.css +32 -13
  24. package/styles/dimensions/checklist.css +45 -46
  25. package/styles/dimensions/cover.css +71 -51
  26. package/styles/dimensions/density.css +69 -65
  27. package/styles/dimensions/frame.css +116 -57
  28. package/styles/dimensions/metadata.css +110 -103
  29. package/styles/dimensions/motion.css +42 -13
  30. package/styles/dimensions/reading.css +27 -27
  31. package/styles/dimensions/sections.css +44 -45
  32. package/styles/dimensions/sequence.css +56 -57
  33. package/styles/dimensions/state.css +8 -2
  34. package/styles/dimensions/substrate.css +82 -58
  35. package/styles/dimensions/surfaces.css +65 -62
  36. package/styles/elements/blockquote.css +24 -25
  37. package/styles/elements/code.css +72 -71
  38. package/styles/elements/table.css +36 -37
  39. package/styles/global.css +163 -121
  40. package/styles/layouts/blog.css +219 -218
  41. package/styles/layouts/default.css +168 -167
  42. package/styles/layouts/docs.css +121 -122
  43. package/styles/layouts/mobile.css +54 -55
  44. package/styles/layouts/on-this-page.css +46 -47
  45. package/styles/layouts/plan.css +248 -247
  46. package/styles/layouts/search.css +142 -140
  47. package/styles/layouts/split.css +45 -45
  48. package/styles/layouts/theme-toggle.css +33 -31
  49. package/styles/layouts/version-switcher.css +38 -37
  50. package/styles/runes/accordion.css +90 -81
  51. package/styles/runes/aggregate.css +50 -39
  52. package/styles/runes/annotate.css +46 -45
  53. package/styles/runes/api.css +22 -23
  54. package/styles/runes/audio.css +140 -141
  55. package/styles/runes/badge.css +12 -13
  56. package/styles/runes/bar.css +4 -5
  57. package/styles/runes/bento.css +73 -62
  58. package/styles/runes/bg.css +62 -47
  59. package/styles/runes/blog.css +89 -90
  60. package/styles/runes/bond.css +49 -50
  61. package/styles/runes/breadcrumb.css +34 -35
  62. package/styles/runes/budget.css +126 -127
  63. package/styles/runes/bug.css +28 -27
  64. package/styles/runes/card.css +63 -60
  65. package/styles/runes/carousel.css +15 -15
  66. package/styles/runes/cast.css +50 -51
  67. package/styles/runes/changelog.css +45 -46
  68. package/styles/runes/character.css +31 -32
  69. package/styles/runes/chart.css +194 -106
  70. package/styles/runes/codegroup.css +109 -100
  71. package/styles/runes/collection.css +87 -86
  72. package/styles/runes/compare.css +38 -39
  73. package/styles/runes/comparison.css +205 -179
  74. package/styles/runes/conversation.css +36 -33
  75. package/styles/runes/cta.css +135 -132
  76. package/styles/runes/datatable.css +84 -83
  77. package/styles/runes/decision.css +25 -26
  78. package/styles/runes/design-context.css +21 -23
  79. package/styles/runes/details.css +26 -27
  80. package/styles/runes/diagram.css +28 -29
  81. package/styles/runes/diff.css +75 -72
  82. package/styles/runes/drawer.css +276 -198
  83. package/styles/runes/embed.css +20 -21
  84. package/styles/runes/event.css +35 -36
  85. package/styles/runes/expand.css +43 -34
  86. package/styles/runes/faction.css +47 -48
  87. package/styles/runes/feature.css +119 -112
  88. package/styles/runes/figure.css +11 -12
  89. package/styles/runes/file-ref.css +11 -13
  90. package/styles/runes/form.css +155 -154
  91. package/styles/runes/gallery.css +59 -60
  92. package/styles/runes/grid.css +10 -7
  93. package/styles/runes/hero.css +189 -185
  94. package/styles/runes/hint.css +57 -58
  95. package/styles/runes/howto.css +62 -64
  96. package/styles/runes/itinerary.css +133 -134
  97. package/styles/runes/juxtapose.css +83 -82
  98. package/styles/runes/lore.css +36 -34
  99. package/styles/runes/map.css +106 -99
  100. package/styles/runes/mediatext.css +30 -27
  101. package/styles/runes/milestone.css +98 -97
  102. package/styles/runes/mockup.css +338 -335
  103. package/styles/runes/nav.css +465 -450
  104. package/styles/runes/organization.css +23 -20
  105. package/styles/runes/page-section.css +14 -15
  106. package/styles/runes/pagination.css +45 -44
  107. package/styles/runes/palette.css +78 -80
  108. package/styles/runes/placeholder.css +8 -9
  109. package/styles/runes/plan-history.css +160 -161
  110. package/styles/runes/plan-progress.css +15 -16
  111. package/styles/runes/plan-ref.css +32 -23
  112. package/styles/runes/playlist.css +106 -107
  113. package/styles/runes/plot.css +96 -91
  114. package/styles/runes/preview.css +152 -149
  115. package/styles/runes/pricing.css +133 -123
  116. package/styles/runes/progress.css +32 -27
  117. package/styles/runes/pullquote.css +89 -90
  118. package/styles/runes/realm.css +47 -48
  119. package/styles/runes/recipe.css +112 -114
  120. package/styles/runes/relationships.css +77 -76
  121. package/styles/runes/reveal.css +90 -79
  122. package/styles/runes/sandbox.css +59 -60
  123. package/styles/runes/section.css +57 -50
  124. package/styles/runes/showcase.css +35 -16
  125. package/styles/runes/sidenote.css +30 -27
  126. package/styles/runes/snippet.css +8 -9
  127. package/styles/runes/spacing.css +86 -88
  128. package/styles/runes/spec.css +24 -25
  129. package/styles/runes/steps.css +89 -80
  130. package/styles/runes/storyboard.css +46 -45
  131. package/styles/runes/swatch.css +22 -23
  132. package/styles/runes/symbol.css +117 -118
  133. package/styles/runes/tabs.css +88 -79
  134. package/styles/runes/testimonial.css +43 -44
  135. package/styles/runes/textblock.css +32 -28
  136. package/styles/runes/timeline.css +63 -64
  137. package/styles/runes/tint.css +214 -215
  138. package/styles/runes/toc.css +40 -41
  139. package/styles/runes/track.css +89 -90
  140. package/styles/runes/typography.css +89 -91
  141. package/styles/runes/work.css +47 -36
  142. package/styles/runes/xref.css +21 -22
@@ -1,5 +1,5 @@
1
1
  @layer skin {
2
- /* card — generic content card (SPEC-070) — skin.
2
+ /* card — generic content card (SPEC-070) — skin.
3
3
  *
4
4
  * A soft surface fill plus a subtle border; the surface + border + structure
5
5
  * (media split, footer separator) carry the card. Pure layout (the stretched
@@ -7,84 +7,87 @@
7
7
  * @refrakt-md/skeleton (styles/runes/card.css). All spacing stays here in skin.
8
8
  */
9
9
 
10
- .rf-card {
11
- /* Thin-edge inset model (matches `bento-cell`): the card hugs its media with
10
+ .rf-card {
11
+ /* Thin-edge inset model (matches `bento-cell`): the card hugs its media with
12
12
  * only a small edge margin, and the content zone adds the remaining inset
13
13
  * back below. The root `padding` lives in skin so it overrides the
14
14
  * surface-elevation padding (dimensions/surfaces.css, also skin) by source
15
15
  * order — in skeleton it would lose and an elevated card would double-pad. */
16
- --rf-card-edge: var(--rf-spacing-sm);
17
- --rf-card-media-gap: var(--rf-spacing-lg);
18
- --rf-card-split-gap: var(--rf-spacing-sm);
19
- padding: var(--rf-card-edge);
20
- border-radius: var(--rf-radius-container);
21
- border: 1px solid var(--rf-color-border);
22
- background: var(--rf-color-surface);
23
- }
16
+ --rf-card-edge: var(--rf-spacing-sm);
17
+ --rf-card-media-gap: var(--rf-spacing-lg);
18
+ --rf-card-split-gap: var(--rf-spacing-sm);
19
+ padding: var(--rf-card-edge);
20
+ border-radius: var(--rf-radius-container);
21
+ border: 1px solid var(--rf-color-border);
22
+ background: var(--rf-color-surface);
23
+ }
24
24
 
25
- /* Media slot shares the card surface chrome (1px border + recessed well) so the
25
+ /* Media slot shares the card surface chrome (1px border + recessed well) so the
26
26
  * framed media reads as part of the card. `:where()` keeps it overridable
27
27
  * per-instance, matching the elevation rule. */
28
- :where(.rf-card) [data-section="media"] {
29
- border: 1px solid var(--rf-color-border);
30
- background: oklch(from var(--rf-color-surface) calc(l - var(--rf-surface-inset-shift)) c h);
31
- }
28
+ :where(.rf-card) [data-section="media"] {
29
+ border: 1px solid var(--rf-color-border);
30
+ background: oklch(from var(--rf-color-surface) calc(l - var(--rf-surface-inset-shift)) c h);
31
+ }
32
32
 
33
- /* Content zone fills the remaining inset so total text padding still equals
33
+ /* Content zone fills the remaining inset so total text padding still equals
34
34
  * `--rune-padding`. `max(0, …)` keeps dense+ (rune-padding < edge) safe. */
35
- .rf-card__content {
36
- padding: max(0px, calc(var(--rune-padding, var(--rf-spacing-md)) - var(--rf-card-edge)));
37
- }
35
+ .rf-card__content {
36
+ padding: max(0px, calc(var(--rune-padding, var(--rf-spacing-md)) - var(--rf-card-edge)));
37
+ }
38
38
 
39
- /* Split layout: tight column-gap beside content; row-gap stays at the larger
39
+ /* Split layout: tight column-gap beside content; row-gap stays at the larger
40
40
  * media-gap so the collapse step picks up the generous stacked spacing. (The
41
41
  * vertical-align is structure; these gaps are skin.) */
42
- .rf-card[data-media-position="start"],
43
- .rf-card[data-media-position="end"] {
44
- column-gap: var(--rf-card-split-gap);
45
- row-gap: var(--rf-card-media-gap);
46
- }
42
+ .rf-card[data-media-position="start"],
43
+ .rf-card[data-media-position="end"] {
44
+ column-gap: var(--rf-card-split-gap);
45
+ row-gap: var(--rf-card-media-gap);
46
+ }
47
47
 
48
- /* Stacked layouts (top / bottom): explicit gap between the media banner and the
48
+ /* Stacked layouts (top / bottom): explicit gap between the media banner and the
49
49
  * content zone. */
50
- .rf-card[data-media-position="top"] > [data-section="media"] {
51
- margin-bottom: var(--rf-card-media-gap);
52
- }
53
- .rf-card[data-media-position="bottom"] > [data-section="media"] {
54
- margin-top: var(--rf-card-media-gap);
55
- }
50
+ .rf-card[data-media-position="top"] > [data-section="media"] {
51
+ margin-bottom: var(--rf-card-media-gap);
52
+ }
53
+ .rf-card[data-media-position="bottom"] > [data-section="media"] {
54
+ margin-top: var(--rf-card-media-gap);
55
+ }
56
56
 
57
- /* Only a linked card (stretched `.rf-card__link` present) reacts to hover. */
58
- .rf-card:has(.rf-card__link):hover {
59
- background: var(--rf-color-surface-hover);
60
- }
57
+ /* Only a linked card (stretched `.rf-card__link` present) reacts to hover. */
58
+ .rf-card:has(.rf-card__link):hover {
59
+ background: var(--rf-color-surface-hover);
60
+ }
61
61
 
62
- .rf-card__body > :first-child { margin-top: 0; }
63
- .rf-card__body > :last-child { margin-bottom: 0; }
62
+ .rf-card__body > :first-child {
63
+ margin-top: 0;
64
+ }
65
+ .rf-card__body > :last-child {
66
+ margin-bottom: 0;
67
+ }
64
68
 
65
- /* Eyebrow — a leading paragraph immediately before a heading, the same kicker
69
+ /* Eyebrow — a leading paragraph immediately before a heading, the same kicker
66
70
  * treatment as page-section / recipe. */
67
- .rf-card__eyebrow {
68
- font-size: var(--rf-text-xs);
69
- font-weight: var(--rf-weight-semibold);
70
- letter-spacing: var(--rf-tracking-wider);
71
- text-transform: uppercase;
72
- color: var(--rf-color-primary);
73
- margin: 0 0 var(--rf-spacing-xs);
74
- }
71
+ .rf-card__eyebrow {
72
+ font-size: var(--rf-text-xs);
73
+ font-weight: var(--rf-weight-semibold);
74
+ letter-spacing: var(--rf-tracking-wider);
75
+ text-transform: uppercase;
76
+ color: var(--rf-color-primary);
77
+ margin: 0 0 var(--rf-spacing-xs);
78
+ }
75
79
 
76
- /* The body's leading heading is the card title; drop its prose top margin so it
80
+ /* The body's leading heading is the card title; drop its prose top margin so it
77
81
  * hugs the eyebrow (or the top of the card) instead of opening a gap. */
78
- .rf-card__title {
79
- margin-top: 0;
80
- }
81
-
82
- .rf-card__footer {
83
- margin-top: var(--rf-spacing-sm);
84
- padding-top: var(--rf-spacing-sm);
85
- border-top: 1px solid var(--rf-color-border);
86
- font-size: 0.8125em;
87
- color: var(--rf-color-muted);
88
- }
82
+ .rf-card__title {
83
+ margin-top: 0;
84
+ }
89
85
 
86
+ .rf-card__footer {
87
+ margin-top: var(--rf-spacing-sm);
88
+ padding-top: var(--rf-spacing-sm);
89
+ border-top: 1px solid var(--rf-color-border);
90
+ font-size: 0.8125em;
91
+ color: var(--rf-color-muted);
92
+ }
90
93
  }
@@ -1,18 +1,18 @@
1
1
  @layer skin {
2
- /* Carousel — shared nav chrome (SPEC-100). The track structure + nav positioning
2
+ /* Carousel — shared nav chrome (SPEC-100). The track structure + nav positioning
3
3
  * are skeleton (styles/runes/carousel.css); this is the skin (colour/shape). */
4
- .rf-carousel__nav {
5
- border-radius: 50%;
6
- border: none;
7
- background: var(--rf-color-surface);
8
- color: var(--rf-color-text);
9
- box-shadow: var(--rf-shadow-md);
10
- cursor: pointer;
11
- font-size: var(--rf-text-xl);
12
- opacity: 0.8;
13
- transition: opacity 0.2s;
14
- }
15
- .rf-carousel__nav:hover {
16
- opacity: 1;
17
- }
4
+ .rf-carousel__nav {
5
+ border-radius: 50%;
6
+ border: none;
7
+ background: var(--rf-color-surface);
8
+ color: var(--rf-color-text);
9
+ box-shadow: var(--rf-shadow-md);
10
+ cursor: pointer;
11
+ font-size: var(--rf-text-xl);
12
+ opacity: 0.8;
13
+ transition: opacity 0.2s;
14
+ }
15
+ .rf-carousel__nav:hover {
16
+ opacity: 1;
17
+ }
18
18
  }
@@ -1,59 +1,58 @@
1
1
  @layer skin {
2
- /* Cast */
2
+ /* Cast */
3
3
 
4
- /* Members list — base */
5
- .rf-cast__items {
6
- padding: 0;
7
- margin: 0;
8
- }
4
+ /* Members list — base */
5
+ .rf-cast__items {
6
+ padding: 0;
7
+ margin: 0;
8
+ }
9
9
 
10
- /* Grid layout (default) */
11
- .rf-cast--grid .rf-cast__items {
12
- gap: 1rem;
13
- }
10
+ /* Grid layout (default) */
11
+ .rf-cast--grid .rf-cast__items {
12
+ gap: 1rem;
13
+ }
14
14
 
15
- /* List layout */
16
- .rf-cast--list .rf-cast__items {
17
- gap: 0.75rem;
18
- }
15
+ /* List layout */
16
+ .rf-cast--list .rf-cast__items {
17
+ gap: 0.75rem;
18
+ }
19
19
 
20
- /* Member card — surface chrome (fill, border, radius, padding) comes from
20
+ /* Member card — surface chrome (fill, border, radius, padding) comes from
21
21
  * dimensions/surfaces.css via defaultElevation: 'flat'. */
22
- .rf-cast-member {
23
- text-align: center;
24
- }
25
- .rf-cast-member__name {
26
- font-weight: var(--rf-weight-semibold);
27
- font-size: var(--rf-text);
28
- color: var(--rf-color-text);
29
- }
30
- .rf-cast-member__role {
31
- font-size: var(--rf-text-sm);
32
- color: var(--rf-color-muted);
33
- margin-top: 0.125rem;
34
- }
35
- .rf-cast-member__body {
36
- margin-top: 0.75rem;
37
- font-size: var(--rf-text-sm);
38
- color: var(--rf-color-muted);
39
- line-height: var(--rf-leading-normal);
40
- }
41
- .rf-cast-member img {
42
- border-radius: var(--rf-radius-full);
43
- margin: 0 auto 0.75rem;
44
- }
45
-
46
- /* List layout — horizontal member cards */
47
- .rf-cast--list .rf-cast-member {
48
- gap: 1rem;
49
- text-align: left;
50
- padding: 0.75rem 1rem;
51
- }
52
- .rf-cast--list .rf-cast-member img {
53
- margin: 0;
54
- }
55
- .rf-cast--list .rf-cast-member__body {
56
- margin-top: 0;
57
- }
22
+ .rf-cast-member {
23
+ text-align: center;
24
+ }
25
+ .rf-cast-member__name {
26
+ font-weight: var(--rf-weight-semibold);
27
+ font-size: var(--rf-text);
28
+ color: var(--rf-color-text);
29
+ }
30
+ .rf-cast-member__role {
31
+ font-size: var(--rf-text-sm);
32
+ color: var(--rf-color-muted);
33
+ margin-top: 0.125rem;
34
+ }
35
+ .rf-cast-member__body {
36
+ margin-top: 0.75rem;
37
+ font-size: var(--rf-text-sm);
38
+ color: var(--rf-color-muted);
39
+ line-height: var(--rf-leading-normal);
40
+ }
41
+ .rf-cast-member img {
42
+ border-radius: var(--rf-radius-full);
43
+ margin: 0 auto 0.75rem;
44
+ }
58
45
 
46
+ /* List layout — horizontal member cards */
47
+ .rf-cast--list .rf-cast-member {
48
+ gap: 1rem;
49
+ text-align: left;
50
+ padding: 0.75rem 1rem;
51
+ }
52
+ .rf-cast--list .rf-cast-member img {
53
+ margin: 0;
54
+ }
55
+ .rf-cast--list .rf-cast-member__body {
56
+ margin-top: 0;
57
+ }
59
58
  }
@@ -1,49 +1,48 @@
1
1
  @layer skin {
2
- /* Changelog — skin. The display:contents passthroughs + the date/badge displays
2
+ /* Changelog — skin. The display:contents passthroughs + the date/badge displays
3
3
  * live in @refrakt-md/skeleton (styles/runes/changelog.css). */
4
- .rf-changelog {
5
- margin: 2rem 0;
6
- }
7
- .rf-changelog-release {
8
- padding: 1.5rem 0;
9
- border-bottom: 1px solid var(--rf-color-border);
10
- }
11
- .rf-changelog-release:last-child {
12
- border-bottom: none;
13
- }
14
- .rf-changelog-release h3 {
15
- font-size: var(--rf-text-xl);
16
- font-weight: var(--rf-weight-bold);
17
- margin: 0 0 0.25rem;
18
- color: var(--rf-color-text);
19
- }
20
- .rf-changelog-release time {
21
- font-size: var(--rf-text-xs);
22
- color: var(--rf-color-muted);
23
- margin-bottom: 0.75rem;
24
- }
25
- .rf-changelog-release ul {
26
- padding-left: 1.25rem;
27
- margin: 0;
28
- }
29
- .rf-changelog-release li {
30
- font-size: var(--rf-text-sm);
31
- line-height: var(--rf-leading-relaxed);
32
- margin-bottom: 0.25rem;
33
- }
34
- .rf-changelog-release strong {
35
- font-size: var(--rf-text-xs);
36
- font-weight: var(--rf-weight-bold);
37
- text-transform: uppercase;
38
- letter-spacing: var(--rf-tracking-wider);
39
- padding: 0.1rem 0.4rem;
40
- border-radius: var(--rf-radius-sm);
41
- margin-right: 0.375rem;
42
- vertical-align: middle;
43
- }
44
- .rf-changelog-release li strong:first-child {
45
- background: var(--rf-color-success-bg);
46
- color: var(--rf-color-success);
47
- }
48
-
4
+ .rf-changelog {
5
+ margin: 2rem 0;
6
+ }
7
+ .rf-changelog-release {
8
+ padding: 1.5rem 0;
9
+ border-bottom: 1px solid var(--rf-color-border);
10
+ }
11
+ .rf-changelog-release:last-child {
12
+ border-bottom: none;
13
+ }
14
+ .rf-changelog-release h3 {
15
+ font-size: var(--rf-text-xl);
16
+ font-weight: var(--rf-weight-bold);
17
+ margin: 0 0 0.25rem;
18
+ color: var(--rf-color-text);
19
+ }
20
+ .rf-changelog-release time {
21
+ font-size: var(--rf-text-xs);
22
+ color: var(--rf-color-muted);
23
+ margin-bottom: 0.75rem;
24
+ }
25
+ .rf-changelog-release ul {
26
+ padding-left: 1.25rem;
27
+ margin: 0;
28
+ }
29
+ .rf-changelog-release li {
30
+ font-size: var(--rf-text-sm);
31
+ line-height: var(--rf-leading-relaxed);
32
+ margin-bottom: 0.25rem;
33
+ }
34
+ .rf-changelog-release strong {
35
+ font-size: var(--rf-text-xs);
36
+ font-weight: var(--rf-weight-bold);
37
+ text-transform: uppercase;
38
+ letter-spacing: var(--rf-tracking-wider);
39
+ padding: 0.1rem 0.4rem;
40
+ border-radius: var(--rf-radius-sm);
41
+ margin-right: 0.375rem;
42
+ vertical-align: middle;
43
+ }
44
+ .rf-changelog-release li strong:first-child {
45
+ background: var(--rf-color-success-bg);
46
+ color: var(--rf-color-success);
47
+ }
49
48
  }
@@ -1,40 +1,39 @@
1
1
  @layer skin {
2
- /* Character — the title and the role/status def-list come from the shared
2
+ /* Character — the title and the role/status def-list come from the shared
3
3
  * dimensions (sections + metadata); only the floated portrait avatar is
4
4
  * character-specific chrome. Unlike faction/realm, character is not a split
5
5
  * rune: the portrait floats and the content column wraps around it. */
6
6
 
7
- /* Portrait — floated circular avatar */
8
- .rf-character__portrait {
9
- margin-left: 1.5rem;
10
- margin-bottom: 1rem;
11
- border-radius: var(--rf-radius-full);
12
- }
13
-
14
- /* Content */
15
- .rf-character__sections {
16
- gap: 1rem;
17
- }
18
- .rf-character__content ul,
19
- .rf-character__content ol {
20
- padding-left: 1.5rem;
21
- }
7
+ /* Portrait — floated circular avatar */
8
+ .rf-character__portrait {
9
+ margin-left: 1.5rem;
10
+ margin-bottom: 1rem;
11
+ border-radius: var(--rf-radius-full);
12
+ }
22
13
 
23
- /* Character Section */
24
- .rf-character-section {
25
- padding: 0.75rem 0;
26
- border-top: 1px solid var(--rf-color-border);
27
- }
28
- .rf-character-section__name {
29
- font-size: var(--rf-text-xl);
30
- font-weight: var(--rf-weight-bold);
31
- line-height: var(--rf-leading-snug);
32
- margin-bottom: 0.5rem;
33
- color: var(--rf-color-text);
34
- }
35
- .rf-character-section__body ul,
36
- .rf-character-section__body ol {
37
- padding-left: 1.5rem;
38
- }
14
+ /* Content */
15
+ .rf-character__sections {
16
+ gap: 1rem;
17
+ }
18
+ .rf-character__content ul,
19
+ .rf-character__content ol {
20
+ padding-left: 1.5rem;
21
+ }
39
22
 
23
+ /* Character Section */
24
+ .rf-character-section {
25
+ padding: 0.75rem 0;
26
+ border-top: 1px solid var(--rf-color-border);
27
+ }
28
+ .rf-character-section__name {
29
+ font-size: var(--rf-text-xl);
30
+ font-weight: var(--rf-weight-bold);
31
+ line-height: var(--rf-leading-snug);
32
+ margin-bottom: 0.5rem;
33
+ color: var(--rf-color-text);
34
+ }
35
+ .rf-character-section__body ul,
36
+ .rf-character-section__body ol {
37
+ padding-left: 1.5rem;
38
+ }
40
39
  }