@refrakt-md/lumina 0.41.3 → 0.43.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.
- package/base.css +1 -0
- package/contracts/structures.json +173 -37
- package/index.css +2 -1
- package/package.json +5 -5
- package/styles/dimensions/link.css +21 -0
- package/styles/dimensions/sections.css +34 -1
- package/styles/elements/code.css +8 -0
- package/styles/global.css +5 -0
- package/styles/runes/accordion.css +0 -26
- package/styles/runes/actions.css +65 -0
- package/styles/runes/bento.css +2 -2
- package/styles/runes/card.css +3 -6
- package/styles/runes/cta.css +8 -68
- package/styles/runes/feature.css +0 -26
- package/styles/runes/hero.css +10 -87
- package/styles/runes/pricing.css +0 -26
- package/styles/runes/reveal.css +0 -26
- package/styles/runes/section.css +17 -26
- package/styles/runes/steps.css +0 -26
- package/styles/runes/tabs.css +0 -26
- package/styles/runes/page-section.css +0 -19
package/base.css
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
@import "./styles/dimensions/metadata.css";
|
|
31
31
|
@import "./styles/dimensions/density.css";
|
|
32
32
|
@import "./styles/dimensions/sections.css";
|
|
33
|
+
@import "./styles/dimensions/link.css";
|
|
33
34
|
@import "./styles/dimensions/reading.css";
|
|
34
35
|
@import "./styles/dimensions/state.css";
|
|
35
36
|
@import "./styles/dimensions/media.css";
|
|
@@ -640,36 +640,6 @@
|
|
|
640
640
|
}
|
|
641
641
|
}
|
|
642
642
|
},
|
|
643
|
-
"PageSection": {
|
|
644
|
-
"block": "page-section",
|
|
645
|
-
"root": ".rf-page-section",
|
|
646
|
-
"dataRune": "page-section",
|
|
647
|
-
"childOrder": [
|
|
648
|
-
"{content}"
|
|
649
|
-
],
|
|
650
|
-
"universalAxes": {
|
|
651
|
-
"axes": {
|
|
652
|
-
"tint": {
|
|
653
|
-
"selectors": [
|
|
654
|
-
".rf-page-section--tinted"
|
|
655
|
-
]
|
|
656
|
-
},
|
|
657
|
-
"bg": {
|
|
658
|
-
"selectors": [
|
|
659
|
-
".rf-page-section--has-bg"
|
|
660
|
-
]
|
|
661
|
-
}
|
|
662
|
-
},
|
|
663
|
-
"unavailable": {
|
|
664
|
-
"reading": "this rune declares no prose body",
|
|
665
|
-
"dropcap": "this rune declares no prose body",
|
|
666
|
-
"prominence": "this rune has no page-section header",
|
|
667
|
-
"content-place": "this rune declares no `content-place` modifier",
|
|
668
|
-
"cover": "this rune declares no `media-position` modifier, so it cannot enter cover mode",
|
|
669
|
-
"frame": "this rune declares neither a `frameTarget` nor a media section"
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
|
-
},
|
|
673
643
|
"TableOfContents": {
|
|
674
644
|
"block": "toc",
|
|
675
645
|
"root": ".rf-toc",
|
|
@@ -3003,6 +2973,36 @@
|
|
|
3003
2973
|
}
|
|
3004
2974
|
}
|
|
3005
2975
|
},
|
|
2976
|
+
"Actions": {
|
|
2977
|
+
"block": "actions",
|
|
2978
|
+
"root": ".rf-actions",
|
|
2979
|
+
"dataRune": "actions",
|
|
2980
|
+
"childOrder": [
|
|
2981
|
+
"{content}"
|
|
2982
|
+
],
|
|
2983
|
+
"universalAxes": {
|
|
2984
|
+
"axes": {
|
|
2985
|
+
"tint": {
|
|
2986
|
+
"selectors": [
|
|
2987
|
+
".rf-actions--tinted"
|
|
2988
|
+
]
|
|
2989
|
+
},
|
|
2990
|
+
"bg": {
|
|
2991
|
+
"selectors": [
|
|
2992
|
+
".rf-actions--has-bg"
|
|
2993
|
+
]
|
|
2994
|
+
}
|
|
2995
|
+
},
|
|
2996
|
+
"unavailable": {
|
|
2997
|
+
"reading": "this rune declares no prose body",
|
|
2998
|
+
"dropcap": "this rune declares no prose body",
|
|
2999
|
+
"prominence": "this rune has no page-section header",
|
|
3000
|
+
"content-place": "this rune declares no `content-place` modifier",
|
|
3001
|
+
"cover": "this rune declares no `media-position` modifier, so it cannot enter cover mode",
|
|
3002
|
+
"frame": "this rune declares neither a `frameTarget` nor a media section"
|
|
3003
|
+
}
|
|
3004
|
+
}
|
|
3005
|
+
},
|
|
3006
3006
|
"Section": {
|
|
3007
3007
|
"block": "section",
|
|
3008
3008
|
"root": ".rf-section",
|
|
@@ -3016,6 +3016,34 @@
|
|
|
3016
3016
|
"default": "start",
|
|
3017
3017
|
"classPattern": ".rf-section--{value}",
|
|
3018
3018
|
"dataAttribute": "data-align"
|
|
3019
|
+
},
|
|
3020
|
+
"media-position": {
|
|
3021
|
+
"source": "meta",
|
|
3022
|
+
"dataAttribute": "data-media-position"
|
|
3023
|
+
},
|
|
3024
|
+
"media-ratio": {
|
|
3025
|
+
"source": "meta",
|
|
3026
|
+
"dataAttribute": "data-media-ratio"
|
|
3027
|
+
},
|
|
3028
|
+
"valign": {
|
|
3029
|
+
"source": "meta",
|
|
3030
|
+
"dataAttribute": "data-valign"
|
|
3031
|
+
},
|
|
3032
|
+
"collapse": {
|
|
3033
|
+
"source": "meta",
|
|
3034
|
+
"dataAttribute": "data-collapse"
|
|
3035
|
+
},
|
|
3036
|
+
"content-place": {
|
|
3037
|
+
"source": "meta",
|
|
3038
|
+
"dataAttribute": "data-content-place"
|
|
3039
|
+
},
|
|
3040
|
+
"height": {
|
|
3041
|
+
"source": "meta",
|
|
3042
|
+
"dataAttribute": "data-height"
|
|
3043
|
+
},
|
|
3044
|
+
"aspect": {
|
|
3045
|
+
"source": "meta",
|
|
3046
|
+
"dataAttribute": "data-aspect"
|
|
3019
3047
|
}
|
|
3020
3048
|
},
|
|
3021
3049
|
"universalAxes": {
|
|
@@ -3025,18 +3053,14 @@
|
|
|
3025
3053
|
".rf-section--tinted"
|
|
3026
3054
|
]
|
|
3027
3055
|
},
|
|
3056
|
+
"frame": {
|
|
3057
|
+
"target": "[data-section=\"media\"]"
|
|
3058
|
+
},
|
|
3028
3059
|
"bg": {
|
|
3029
3060
|
"selectors": [
|
|
3030
3061
|
".rf-section--has-bg"
|
|
3031
3062
|
]
|
|
3032
3063
|
}
|
|
3033
|
-
},
|
|
3034
|
-
"unavailable": {
|
|
3035
|
-
"reading": "this rune declares no prose body",
|
|
3036
|
-
"dropcap": "this rune declares no prose body",
|
|
3037
|
-
"content-place": "this rune declares no `content-place` modifier",
|
|
3038
|
-
"cover": "this rune declares no `media-position` modifier, so it cannot enter cover mode",
|
|
3039
|
-
"frame": "this rune declares neither a `frameTarget` nor a media section"
|
|
3040
3064
|
}
|
|
3041
3065
|
},
|
|
3042
3066
|
"elements": {
|
|
@@ -3065,6 +3089,118 @@
|
|
|
3065
3089
|
"selector": ".rf-section__image",
|
|
3066
3090
|
"source": "autoLabel"
|
|
3067
3091
|
}
|
|
3092
|
+
},
|
|
3093
|
+
"inlineStyles": {
|
|
3094
|
+
"valign": {
|
|
3095
|
+
"prop": "--split-valign",
|
|
3096
|
+
"transform": "align"
|
|
3097
|
+
},
|
|
3098
|
+
"aspect": "aspect-ratio"
|
|
3099
|
+
},
|
|
3100
|
+
"variants": {
|
|
3101
|
+
"media-position": {
|
|
3102
|
+
"cover": {
|
|
3103
|
+
"block": "section",
|
|
3104
|
+
"root": ".rf-section",
|
|
3105
|
+
"dataRune": "section",
|
|
3106
|
+
"childOrder": [
|
|
3107
|
+
"{content}"
|
|
3108
|
+
],
|
|
3109
|
+
"modifiers": {
|
|
3110
|
+
"align": {
|
|
3111
|
+
"source": "meta",
|
|
3112
|
+
"default": "start",
|
|
3113
|
+
"classPattern": ".rf-section--{value}",
|
|
3114
|
+
"dataAttribute": "data-align"
|
|
3115
|
+
},
|
|
3116
|
+
"media-position": {
|
|
3117
|
+
"source": "meta",
|
|
3118
|
+
"dataAttribute": "data-media-position"
|
|
3119
|
+
},
|
|
3120
|
+
"media-ratio": {
|
|
3121
|
+
"source": "meta",
|
|
3122
|
+
"dataAttribute": "data-media-ratio"
|
|
3123
|
+
},
|
|
3124
|
+
"valign": {
|
|
3125
|
+
"source": "meta",
|
|
3126
|
+
"dataAttribute": "data-valign"
|
|
3127
|
+
},
|
|
3128
|
+
"collapse": {
|
|
3129
|
+
"source": "meta",
|
|
3130
|
+
"dataAttribute": "data-collapse"
|
|
3131
|
+
},
|
|
3132
|
+
"content-place": {
|
|
3133
|
+
"source": "meta",
|
|
3134
|
+
"dataAttribute": "data-content-place"
|
|
3135
|
+
},
|
|
3136
|
+
"height": {
|
|
3137
|
+
"source": "meta",
|
|
3138
|
+
"dataAttribute": "data-height"
|
|
3139
|
+
},
|
|
3140
|
+
"aspect": {
|
|
3141
|
+
"source": "meta",
|
|
3142
|
+
"dataAttribute": "data-aspect"
|
|
3143
|
+
}
|
|
3144
|
+
},
|
|
3145
|
+
"staticModifiers": [
|
|
3146
|
+
{
|
|
3147
|
+
"name": "cover",
|
|
3148
|
+
"selector": ".rf-section--cover"
|
|
3149
|
+
}
|
|
3150
|
+
],
|
|
3151
|
+
"universalAxes": {
|
|
3152
|
+
"axes": {
|
|
3153
|
+
"tint": {
|
|
3154
|
+
"selectors": [
|
|
3155
|
+
".rf-section--tinted"
|
|
3156
|
+
]
|
|
3157
|
+
},
|
|
3158
|
+
"frame": {
|
|
3159
|
+
"target": "[data-section=\"media\"]"
|
|
3160
|
+
},
|
|
3161
|
+
"bg": {
|
|
3162
|
+
"selectors": [
|
|
3163
|
+
".rf-section--has-bg"
|
|
3164
|
+
]
|
|
3165
|
+
}
|
|
3166
|
+
}
|
|
3167
|
+
},
|
|
3168
|
+
"elements": {
|
|
3169
|
+
"preamble": {
|
|
3170
|
+
"tag": "header",
|
|
3171
|
+
"selector": ".rf-section__preamble",
|
|
3172
|
+
"source": "autoLabel"
|
|
3173
|
+
},
|
|
3174
|
+
"eyebrow": {
|
|
3175
|
+
"tag": "eyebrow",
|
|
3176
|
+
"selector": ".rf-section__eyebrow",
|
|
3177
|
+
"source": "autoLabel"
|
|
3178
|
+
},
|
|
3179
|
+
"headline": {
|
|
3180
|
+
"tag": "headline",
|
|
3181
|
+
"selector": ".rf-section__headline",
|
|
3182
|
+
"source": "autoLabel"
|
|
3183
|
+
},
|
|
3184
|
+
"blurb": {
|
|
3185
|
+
"tag": "blurb",
|
|
3186
|
+
"selector": ".rf-section__blurb",
|
|
3187
|
+
"source": "autoLabel"
|
|
3188
|
+
},
|
|
3189
|
+
"image": {
|
|
3190
|
+
"tag": "image",
|
|
3191
|
+
"selector": ".rf-section__image",
|
|
3192
|
+
"source": "autoLabel"
|
|
3193
|
+
}
|
|
3194
|
+
},
|
|
3195
|
+
"inlineStyles": {
|
|
3196
|
+
"valign": {
|
|
3197
|
+
"prop": "--split-valign",
|
|
3198
|
+
"transform": "align"
|
|
3199
|
+
},
|
|
3200
|
+
"aspect": "aspect-ratio"
|
|
3201
|
+
}
|
|
3202
|
+
}
|
|
3203
|
+
}
|
|
3068
3204
|
}
|
|
3069
3205
|
},
|
|
3070
3206
|
"Juxtapose": {
|
package/index.css
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
@import "./styles/dimensions/metadata.css";
|
|
39
39
|
@import "./styles/dimensions/density.css";
|
|
40
40
|
@import "./styles/dimensions/sections.css";
|
|
41
|
+
@import "./styles/dimensions/link.css";
|
|
41
42
|
@import "./styles/dimensions/reading.css";
|
|
42
43
|
@import "./styles/dimensions/state.css";
|
|
43
44
|
@import "./styles/dimensions/media.css";
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
@import "./styles/runes/annotate.css";
|
|
58
59
|
@import "./styles/runes/audio.css";
|
|
59
60
|
@import "./styles/runes/api.css";
|
|
61
|
+
@import "./styles/runes/actions.css";
|
|
60
62
|
@import "./styles/runes/card.css";
|
|
61
63
|
@import "./styles/runes/badge.css";
|
|
62
64
|
@import "./styles/runes/bar.css";
|
|
@@ -105,7 +107,6 @@
|
|
|
105
107
|
@import "./styles/runes/mockup.css";
|
|
106
108
|
@import "./styles/runes/nav.css";
|
|
107
109
|
@import "./styles/runes/organization.css";
|
|
108
|
-
@import "./styles/runes/page-section.css";
|
|
109
110
|
@import "./styles/runes/pagination.css";
|
|
110
111
|
@import "./styles/runes/playlist.css";
|
|
111
112
|
@import "./styles/runes/plot.css";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/lumina",
|
|
3
3
|
"description": "Lumina theme for refrakt.md — design tokens, CSS, identity transform, and layout configs",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.43.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
"generate-tokens": "node scripts/generate-tokens.mjs"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@refrakt-md/runes": "0.
|
|
90
|
-
"@refrakt-md/skeleton": "0.
|
|
91
|
-
"@refrakt-md/transform": "0.
|
|
92
|
-
"@refrakt-md/types": "0.
|
|
89
|
+
"@refrakt-md/runes": "0.43.0",
|
|
90
|
+
"@refrakt-md/skeleton": "0.43.0",
|
|
91
|
+
"@refrakt-md/transform": "0.43.0",
|
|
92
|
+
"@refrakt-md/types": "0.43.0"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"postcss": "^8.4.0"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* link — skin (SPEC-160 D8, WORK-655). A wrapped region reads as its content,
|
|
3
|
+
* not as link text; both forms show where focus is, since a stretched link is
|
|
4
|
+
* now reachable by keyboard. Positioning is structure, in @refrakt-md/skeleton
|
|
5
|
+
* (styles/dimensions/link.css). */
|
|
6
|
+
a[data-link="wrap"],
|
|
7
|
+
a[data-link="wrap"]:hover {
|
|
8
|
+
color: inherit;
|
|
9
|
+
text-decoration: none;
|
|
10
|
+
}
|
|
11
|
+
a[data-link]:focus-visible {
|
|
12
|
+
outline: 2px solid var(--rf-color-primary);
|
|
13
|
+
outline-offset: 2px;
|
|
14
|
+
border-radius: inherit;
|
|
15
|
+
}
|
|
16
|
+
/* A stretched link fills its host, which may clip (`card`'s overflow), so its
|
|
17
|
+
* ring is drawn inside the box rather than around it. */
|
|
18
|
+
a[data-link="stretch"]:focus-visible {
|
|
19
|
+
outline-offset: -3px;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@layer skin {
|
|
2
2
|
/* ─── Section Anatomy Dimension — skin ──────────────────────────────────
|
|
3
|
-
* Zone rhythm (margins, gaps, padding), typography, and borders for the
|
|
3
|
+
* Zone rhythm (margins, gaps, padding), typography, and borders for the
|
|
4
4
|
* standard section roles. The flex zone *containers* (header / preamble /
|
|
5
5
|
* footer) live in @refrakt-md/skeleton (dimensions/sections.css). Rhythm stays
|
|
6
6
|
* here so rune zone overrides resolve against it by source order.
|
|
@@ -17,6 +17,39 @@
|
|
|
17
17
|
gap: 0.25rem;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
/* ─── Eyebrow: a kicker above the title (WORK-656) ───────────────── */
|
|
21
|
+
/* Shared by every rune with an eyebrow; a rune sets only its spacing (and
|
|
22
|
+
* `card` a smaller size). An eyebrow holding a link is a pill whose link
|
|
23
|
+
* covers it; the stretched link itself is structure (skeleton). */
|
|
24
|
+
[data-section="eyebrow"] {
|
|
25
|
+
font-size: var(--rf-text-sm);
|
|
26
|
+
font-weight: var(--rf-weight-semibold);
|
|
27
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
28
|
+
text-transform: uppercase;
|
|
29
|
+
color: var(--rf-color-primary);
|
|
30
|
+
}
|
|
31
|
+
[data-section="eyebrow"]:has(a) {
|
|
32
|
+
padding: 0.25rem 0.875rem;
|
|
33
|
+
border: 1px solid var(--rf-color-border);
|
|
34
|
+
border-radius: var(--rf-radius-full);
|
|
35
|
+
color: var(--rf-color-text);
|
|
36
|
+
font-weight: var(--rf-weight-normal);
|
|
37
|
+
text-transform: none;
|
|
38
|
+
letter-spacing: var(--rf-tracking-normal);
|
|
39
|
+
transition: border-color 150ms ease;
|
|
40
|
+
}
|
|
41
|
+
[data-section="eyebrow"]:has(a):hover {
|
|
42
|
+
border-color: var(--rf-color-muted);
|
|
43
|
+
}
|
|
44
|
+
[data-section="eyebrow"]:has(a) a {
|
|
45
|
+
color: var(--rf-color-primary);
|
|
46
|
+
font-weight: var(--rf-weight-semibold);
|
|
47
|
+
text-decoration: none;
|
|
48
|
+
}
|
|
49
|
+
[data-section="eyebrow"]:has(a) a::before {
|
|
50
|
+
border-radius: inherit;
|
|
51
|
+
}
|
|
52
|
+
|
|
20
53
|
/* ─── Title: primary heading ──────────────────────────────────────── */
|
|
21
54
|
/* Two inputs, in priority order:
|
|
22
55
|
* --rf-prominence-size an explicit author `prominence=` (surfaces.css)
|
package/styles/elements/code.css
CHANGED
|
@@ -82,6 +82,14 @@
|
|
|
82
82
|
border-left: 3px solid transparent;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/* A blank line is an empty `.line`, and in the grid an empty item has no
|
|
86
|
+
* line box, so its row collapsed to nothing and every blank line in a code
|
|
87
|
+
* block vanished. A space gives it a row of the normal height. A trailing
|
|
88
|
+
* empty line (the code's final newline) stays collapsed. */
|
|
89
|
+
.rf-codeblock pre code .line:empty:not(:last-child)::after {
|
|
90
|
+
content: " ";
|
|
91
|
+
}
|
|
92
|
+
|
|
85
93
|
/* Line numbers — gutter::before owns the left column. Strip the pre's
|
|
86
94
|
* horizontal padding when linenumbers are on so the gutter sits flush
|
|
87
95
|
* against the codeblock edge; the gutter's own padding + right border
|
package/styles/global.css
CHANGED
|
@@ -175,6 +175,11 @@
|
|
|
175
175
|
font-size: var(--rf-text-sm);
|
|
176
176
|
line-height: var(--rf-leading-relaxed);
|
|
177
177
|
border: 1px solid var(--rf-color-border);
|
|
178
|
+
/* Content inside runes is indented with tabs (SPEC-170), and a browser
|
|
179
|
+
* renders a tab eight columns wide. Two reads as nesting in a code sample
|
|
180
|
+
* without pushing it off a phone screen. A site or theme sets
|
|
181
|
+
* `--rf-code-tab-size` to change it; it is a length in columns. */
|
|
182
|
+
tab-size: var(--rf-code-tab-size, 2);
|
|
178
183
|
}
|
|
179
184
|
|
|
180
185
|
pre code {
|
|
@@ -7,34 +7,8 @@
|
|
|
7
7
|
margin-bottom: 1.5rem;
|
|
8
8
|
}
|
|
9
9
|
.rf-accordion__eyebrow {
|
|
10
|
-
font-size: var(--rf-text-sm);
|
|
11
|
-
font-weight: var(--rf-weight-semibold);
|
|
12
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
13
|
-
text-transform: uppercase;
|
|
14
|
-
color: var(--rf-color-primary);
|
|
15
10
|
margin: 0 0 0.5rem;
|
|
16
11
|
}
|
|
17
|
-
.rf-accordion__eyebrow:has(a) {
|
|
18
|
-
padding: 0.25rem 0.875rem;
|
|
19
|
-
border: 1px solid var(--rf-color-border);
|
|
20
|
-
border-radius: var(--rf-radius-full);
|
|
21
|
-
color: var(--rf-color-text);
|
|
22
|
-
font-weight: var(--rf-weight-normal);
|
|
23
|
-
text-transform: none;
|
|
24
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
25
|
-
transition: border-color 150ms ease;
|
|
26
|
-
}
|
|
27
|
-
.rf-accordion__eyebrow:has(a):hover {
|
|
28
|
-
border-color: var(--rf-color-muted);
|
|
29
|
-
}
|
|
30
|
-
.rf-accordion__eyebrow:has(a) a {
|
|
31
|
-
color: var(--rf-color-primary);
|
|
32
|
-
font-weight: var(--rf-weight-semibold);
|
|
33
|
-
text-decoration: none;
|
|
34
|
-
}
|
|
35
|
-
.rf-accordion__eyebrow:has(a) a::before {
|
|
36
|
-
border-radius: inherit;
|
|
37
|
-
}
|
|
38
12
|
.rf-accordion__headline {
|
|
39
13
|
margin-top: 0;
|
|
40
14
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* actions — skin (SPEC-160 D6). Buttons styled by rank (`data-rank`), not by
|
|
3
|
+
* list position. Size comes from custom properties a host may set
|
|
4
|
+
* (`--action-padding`, `--action-font-size`); the defaults are cta's. The
|
|
5
|
+
* row, the button shape and the mobile stack are structure, in
|
|
6
|
+
* @refrakt-md/skeleton (styles/runes/actions.css). */
|
|
7
|
+
.rf-actions,
|
|
8
|
+
.rf-actions__list {
|
|
9
|
+
gap: 0.75rem;
|
|
10
|
+
}
|
|
11
|
+
.rf-actions__list {
|
|
12
|
+
padding: 0;
|
|
13
|
+
margin: 0;
|
|
14
|
+
}
|
|
15
|
+
.rf-actions__action {
|
|
16
|
+
padding: 0;
|
|
17
|
+
margin: 0;
|
|
18
|
+
}
|
|
19
|
+
.rf-actions__action > a {
|
|
20
|
+
padding: var(--action-padding, 0.625rem 1.5rem);
|
|
21
|
+
border-radius: var(--rf-radius-sm);
|
|
22
|
+
text-decoration: none;
|
|
23
|
+
font-weight: var(--rf-weight-semibold);
|
|
24
|
+
font-size: var(--action-font-size, var(--rf-text-sm));
|
|
25
|
+
transition: all 200ms ease;
|
|
26
|
+
}
|
|
27
|
+
/* The primary action's text follows the colour scheme, so it stays legible in
|
|
28
|
+
* dark mode and over a cover scrim, where `--rf-color-primary` flips. */
|
|
29
|
+
.rf-actions__action[data-rank="primary"] > a {
|
|
30
|
+
background: var(--rf-color-primary);
|
|
31
|
+
color: var(--rf-color-on-primary);
|
|
32
|
+
box-shadow: var(--rf-shadow-sm);
|
|
33
|
+
}
|
|
34
|
+
.rf-actions__action[data-rank="primary"] > a:hover {
|
|
35
|
+
background: var(--rf-color-primary-hover);
|
|
36
|
+
box-shadow: var(--rf-shadow-md);
|
|
37
|
+
transform: translateY(-1px);
|
|
38
|
+
text-decoration: none;
|
|
39
|
+
}
|
|
40
|
+
.rf-actions__action[data-rank="secondary"] > a {
|
|
41
|
+
background: var(--rf-color-surface);
|
|
42
|
+
color: var(--rf-color-text);
|
|
43
|
+
border: 1px solid var(--rf-color-border);
|
|
44
|
+
}
|
|
45
|
+
.rf-actions__action[data-rank="secondary"] > a:hover {
|
|
46
|
+
background: var(--rf-color-surface-hover);
|
|
47
|
+
border-color: var(--rf-color-surface-active);
|
|
48
|
+
text-decoration: none;
|
|
49
|
+
}
|
|
50
|
+
/* A command line sits in the row at a button's height, without the margin a
|
|
51
|
+
* code block takes in prose. */
|
|
52
|
+
.rf-actions__command .rf-codeblock {
|
|
53
|
+
margin: 0;
|
|
54
|
+
}
|
|
55
|
+
.rf-actions__command pre {
|
|
56
|
+
margin: 0;
|
|
57
|
+
padding: var(--action-padding, 0.625rem 1.5rem);
|
|
58
|
+
font-size: var(--action-font-size, var(--rf-text-sm));
|
|
59
|
+
border-radius: var(--rf-radius-sm);
|
|
60
|
+
background: var(--rf-color-code-bg);
|
|
61
|
+
color: var(--rf-color-code-text);
|
|
62
|
+
border: 1px solid var(--rf-color-border);
|
|
63
|
+
white-space: nowrap;
|
|
64
|
+
}
|
|
65
|
+
}
|
package/styles/runes/bento.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@layer skin {
|
|
2
2
|
/* Bento — skin. A grid of cells, each a card-in-a-grid-track (SPEC-085). The
|
|
3
3
|
* container-query grid system, cell flex layout, media placement, sizing knobs,
|
|
4
|
-
* collapse queries
|
|
5
|
-
*
|
|
4
|
+
* and collapse queries live in @refrakt-md/skeleton (styles/runes/bento.css),
|
|
5
|
+
* and the stretched `href` link in its dimensions/link.css. What remains here is skin: the grid gap, the cell
|
|
6
6
|
* surface chrome + spacing vars, the media-well chrome, type, and bleed resets. */
|
|
7
7
|
|
|
8
8
|
.rf-bento__grid {
|
package/styles/runes/card.css
CHANGED
|
@@ -66,14 +66,11 @@
|
|
|
66
66
|
margin-bottom: 0;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
/* Eyebrow — a leading paragraph immediately before a heading
|
|
70
|
-
*
|
|
69
|
+
/* Eyebrow — a leading paragraph immediately before a heading. Its type and its
|
|
70
|
+
* linked pill are the sections dimension's (`[data-section="eyebrow"]`); a card
|
|
71
|
+
* sets it one step smaller. */
|
|
71
72
|
.rf-card__eyebrow {
|
|
72
73
|
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
74
|
margin: 0 0 var(--rf-spacing-xs);
|
|
78
75
|
}
|
|
79
76
|
|
package/styles/runes/cta.css
CHANGED
|
@@ -16,37 +16,13 @@
|
|
|
16
16
|
gap: 0.25rem;
|
|
17
17
|
margin-bottom: 1.5rem;
|
|
18
18
|
}
|
|
19
|
-
/*
|
|
19
|
+
/* The eyebrow's type and its linked pill are the sections dimension's
|
|
20
|
+
* (`[data-section="eyebrow"]`); the cta sets only its spacing. */
|
|
20
21
|
.rf-cta .rf-cta__eyebrow {
|
|
21
|
-
font-size: var(--rf-text-sm);
|
|
22
|
-
font-weight: var(--rf-weight-semibold);
|
|
23
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
24
|
-
text-transform: uppercase;
|
|
25
|
-
color: var(--rf-color-primary);
|
|
26
22
|
margin: 0 0 0.75rem;
|
|
27
23
|
max-width: none;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
.rf-cta .rf-cta__eyebrow:has(a) {
|
|
31
|
-
padding: 0.25rem 0.875rem;
|
|
32
|
-
border: 1px solid var(--rf-color-border);
|
|
33
|
-
border-radius: var(--rf-radius-full);
|
|
34
|
-
color: var(--rf-color-text);
|
|
35
|
-
font-weight: var(--rf-weight-normal);
|
|
36
|
-
text-transform: none;
|
|
37
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
38
|
-
transition: border-color 150ms ease;
|
|
39
|
-
}
|
|
40
|
-
.rf-cta .rf-cta__eyebrow:has(a):hover {
|
|
41
|
-
border-color: var(--rf-color-muted);
|
|
42
|
-
}
|
|
43
|
-
.rf-cta .rf-cta__eyebrow:has(a) a {
|
|
44
|
-
color: var(--rf-color-primary);
|
|
45
|
-
font-weight: var(--rf-weight-semibold);
|
|
46
|
-
text-decoration: none;
|
|
47
|
-
}
|
|
48
|
-
.rf-cta .rf-cta__eyebrow:has(a) a::before {
|
|
49
|
-
border-radius: inherit;
|
|
24
|
+
/* What it inherited from `.rf-cta p` before it was excluded from it. */
|
|
25
|
+
line-height: var(--rf-leading-relaxed);
|
|
50
26
|
}
|
|
51
27
|
.rf-cta__image {
|
|
52
28
|
margin-bottom: 1.5rem;
|
|
@@ -70,7 +46,8 @@
|
|
|
70
46
|
background-clip: text;
|
|
71
47
|
}
|
|
72
48
|
/* Higher specificity needed to override .rf-cta p (0,1,1) */
|
|
73
|
-
.
|
|
49
|
+
/* The eyebrow is a paragraph too; it is left to the sections dimension. */
|
|
50
|
+
.rf-cta p:not([data-section="eyebrow"]),
|
|
74
51
|
.rf-cta .rf-cta__blurb {
|
|
75
52
|
font-size: var(--rf-text-lg);
|
|
76
53
|
color: var(--rf-color-muted);
|
|
@@ -78,45 +55,8 @@
|
|
|
78
55
|
margin: 0 auto 2rem;
|
|
79
56
|
line-height: var(--rf-leading-relaxed);
|
|
80
57
|
}
|
|
81
|
-
.
|
|
82
|
-
|
|
83
|
-
padding: 0;
|
|
84
|
-
margin: 0;
|
|
85
|
-
}
|
|
86
|
-
.rf-cta li {
|
|
87
|
-
padding: 0;
|
|
88
|
-
margin: 0;
|
|
89
|
-
}
|
|
90
|
-
.rf-cta li a,
|
|
91
|
-
.rf-cta nav a {
|
|
92
|
-
padding: 0.625rem 1.5rem;
|
|
93
|
-
border-radius: var(--rf-radius-sm);
|
|
94
|
-
text-decoration: none;
|
|
95
|
-
font-weight: var(--rf-weight-semibold);
|
|
96
|
-
font-size: var(--rf-text-sm);
|
|
97
|
-
transition: all 200ms ease;
|
|
98
|
-
}
|
|
99
|
-
.rf-cta li:first-child a {
|
|
100
|
-
background: var(--rf-color-primary);
|
|
101
|
-
color: white;
|
|
102
|
-
box-shadow: var(--rf-shadow-sm);
|
|
103
|
-
}
|
|
104
|
-
.rf-cta li:first-child a:hover {
|
|
105
|
-
background: var(--rf-color-primary-hover);
|
|
106
|
-
box-shadow: var(--rf-shadow-md);
|
|
107
|
-
transform: translateY(-1px);
|
|
108
|
-
text-decoration: none;
|
|
109
|
-
}
|
|
110
|
-
.rf-cta li:not(:first-child) a {
|
|
111
|
-
background: var(--rf-color-surface);
|
|
112
|
-
color: var(--rf-color-text);
|
|
113
|
-
border: 1px solid var(--rf-color-border);
|
|
114
|
-
}
|
|
115
|
-
.rf-cta li:not(:first-child) a:hover {
|
|
116
|
-
background: var(--rf-color-surface-hover);
|
|
117
|
-
border-color: var(--rf-color-surface-active);
|
|
118
|
-
text-decoration: none;
|
|
119
|
-
}
|
|
58
|
+
/* The actions row is the `actions` rune's (styles/runes/actions.css), whose
|
|
59
|
+
* default size is the cta's own. */
|
|
120
60
|
|
|
121
61
|
/* Context-aware: CTA inside a hero gets more vertical space */
|
|
122
62
|
.rf-cta--in-hero {
|
package/styles/runes/feature.css
CHANGED
|
@@ -10,34 +10,8 @@
|
|
|
10
10
|
margin-bottom: 1.5rem;
|
|
11
11
|
}
|
|
12
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
13
|
margin: 0 0 0.5rem;
|
|
19
14
|
}
|
|
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
15
|
.rf-feature__headline {
|
|
42
16
|
margin-top: 0;
|
|
43
17
|
}
|
package/styles/runes/hero.css
CHANGED
|
@@ -19,44 +19,23 @@
|
|
|
19
19
|
gap: 0.25rem;
|
|
20
20
|
margin-bottom: 2rem;
|
|
21
21
|
}
|
|
22
|
-
/*
|
|
22
|
+
/* The eyebrow's type and its linked pill are the sections dimension's
|
|
23
|
+
* (`[data-section="eyebrow"]`); the hero sets only its spacing. */
|
|
23
24
|
.rf-hero .rf-hero__eyebrow {
|
|
24
|
-
font-size: var(--rf-text-sm);
|
|
25
|
-
font-weight: var(--rf-weight-semibold);
|
|
26
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
27
|
-
text-transform: uppercase;
|
|
28
|
-
color: var(--rf-color-primary);
|
|
29
25
|
margin: 0 0 1rem;
|
|
30
26
|
max-width: none;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
.rf-hero .rf-hero__eyebrow:has(a) {
|
|
34
|
-
padding: 0.25rem 0.875rem;
|
|
35
|
-
border: 1px solid var(--rf-color-border);
|
|
36
|
-
border-radius: var(--rf-radius-full);
|
|
37
|
-
color: var(--rf-color-text);
|
|
38
|
-
font-weight: var(--rf-weight-normal);
|
|
39
|
-
text-transform: none;
|
|
40
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
41
|
-
transition: border-color 150ms ease;
|
|
42
|
-
}
|
|
43
|
-
.rf-hero .rf-hero__eyebrow:has(a):hover {
|
|
44
|
-
border-color: var(--rf-color-muted);
|
|
45
|
-
}
|
|
46
|
-
.rf-hero .rf-hero__eyebrow:has(a) a {
|
|
47
|
-
color: var(--rf-color-primary);
|
|
48
|
-
font-weight: var(--rf-weight-semibold);
|
|
49
|
-
text-decoration: none;
|
|
50
|
-
}
|
|
51
|
-
.rf-hero .rf-hero__eyebrow:has(a) a::before {
|
|
52
|
-
border-radius: inherit;
|
|
27
|
+
/* What it inherited from `.rf-hero p` before it was excluded from it. */
|
|
28
|
+
line-height: var(--rf-leading-relaxed);
|
|
53
29
|
}
|
|
54
30
|
.rf-hero__image {
|
|
55
31
|
margin-bottom: 1.5rem;
|
|
56
32
|
}
|
|
33
|
+
/* The actions row is the `actions` rune's (styles/runes/actions.css); the hero
|
|
34
|
+
* sets only its width and the size of its buttons and command line. */
|
|
57
35
|
.rf-hero__actions {
|
|
36
|
+
--action-padding: 0.7rem 1.75rem;
|
|
37
|
+
--action-font-size: var(--rf-text);
|
|
58
38
|
max-width: 720px;
|
|
59
|
-
gap: 0.75rem;
|
|
60
39
|
}
|
|
61
40
|
.rf-hero[data-align="center"] .rf-hero__preamble,
|
|
62
41
|
.rf-hero[data-align="center"] > h1,
|
|
@@ -73,16 +52,6 @@
|
|
|
73
52
|
.rf-hero[data-align="right"] > p {
|
|
74
53
|
text-align: right;
|
|
75
54
|
}
|
|
76
|
-
.rf-hero__actions pre {
|
|
77
|
-
margin: 0;
|
|
78
|
-
padding: 0.7rem 1.75rem;
|
|
79
|
-
font-size: var(--rf-text);
|
|
80
|
-
border-radius: var(--rf-radius-sm);
|
|
81
|
-
background: var(--rf-color-code-bg);
|
|
82
|
-
color: var(--rf-color-code-text);
|
|
83
|
-
border: 1px solid var(--rf-color-border);
|
|
84
|
-
white-space: nowrap;
|
|
85
|
-
}
|
|
86
55
|
.rf-hero h1,
|
|
87
56
|
.rf-hero__headline {
|
|
88
57
|
/* WORK-538 — read the prominence override first; the fallback is this rune's
|
|
@@ -99,7 +68,8 @@
|
|
|
99
68
|
background-clip: text;
|
|
100
69
|
}
|
|
101
70
|
/* Higher specificity needed to override .rf-hero p (0,1,1) */
|
|
102
|
-
.
|
|
71
|
+
/* The eyebrow is a paragraph too; it is left to the sections dimension. */
|
|
72
|
+
.rf-hero p:not([data-section="eyebrow"]),
|
|
103
73
|
.rf-hero .rf-hero__blurb {
|
|
104
74
|
font-size: var(--rf-text-xl);
|
|
105
75
|
line-height: var(--rf-leading-relaxed);
|
|
@@ -112,46 +82,6 @@
|
|
|
112
82
|
max-width: 560px;
|
|
113
83
|
margin-bottom: 2rem;
|
|
114
84
|
}
|
|
115
|
-
.rf-hero ul,
|
|
116
|
-
.rf-hero nav {
|
|
117
|
-
gap: 0.75rem;
|
|
118
|
-
padding: 0;
|
|
119
|
-
margin: 0;
|
|
120
|
-
}
|
|
121
|
-
.rf-hero li {
|
|
122
|
-
padding: 0;
|
|
123
|
-
margin: 0;
|
|
124
|
-
}
|
|
125
|
-
.rf-hero li a,
|
|
126
|
-
.rf-hero nav a {
|
|
127
|
-
padding: 0.7rem 1.75rem;
|
|
128
|
-
border-radius: var(--rf-radius-sm);
|
|
129
|
-
text-decoration: none;
|
|
130
|
-
font-weight: var(--rf-weight-semibold);
|
|
131
|
-
font-size: var(--rf-text);
|
|
132
|
-
transition: all 200ms ease;
|
|
133
|
-
}
|
|
134
|
-
.rf-hero li:first-child a {
|
|
135
|
-
background: var(--rf-color-primary);
|
|
136
|
-
color: white;
|
|
137
|
-
box-shadow: var(--rf-shadow-sm);
|
|
138
|
-
}
|
|
139
|
-
.rf-hero li:first-child a:hover {
|
|
140
|
-
background: var(--rf-color-primary-hover);
|
|
141
|
-
box-shadow: var(--rf-shadow-md);
|
|
142
|
-
transform: translateY(-1px);
|
|
143
|
-
text-decoration: none;
|
|
144
|
-
}
|
|
145
|
-
.rf-hero li:not(:first-child) a {
|
|
146
|
-
background: var(--rf-color-surface);
|
|
147
|
-
color: var(--rf-color-text);
|
|
148
|
-
border: 1px solid var(--rf-color-border);
|
|
149
|
-
}
|
|
150
|
-
.rf-hero li:not(:first-child) a:hover {
|
|
151
|
-
background: var(--rf-color-surface-hover);
|
|
152
|
-
border-color: var(--rf-color-surface-active);
|
|
153
|
-
text-decoration: none;
|
|
154
|
-
}
|
|
155
85
|
.rf-hero__media {
|
|
156
86
|
margin-top: 3rem;
|
|
157
87
|
border-radius: var(--rf-radius-lg);
|
|
@@ -190,13 +120,6 @@
|
|
|
190
120
|
border-radius: 0;
|
|
191
121
|
}
|
|
192
122
|
|
|
193
|
-
/* Legibility over the scrim: the primary action hard-codes white text above,
|
|
194
|
-
* which inverts to white-on-near-white once the cover scheme flips
|
|
195
|
-
* --rf-color-primary on the dark overlay. Use the scheme's tokens instead. */
|
|
196
|
-
.rf-hero--cover li:first-child a {
|
|
197
|
-
color: var(--rf-color-on-accent, var(--rf-color-bg));
|
|
198
|
-
}
|
|
199
|
-
|
|
200
123
|
/* The default cover scrim is edge-weighted (a caption-strip treatment); under
|
|
201
124
|
* the centred band it would leave the headline on undarkened media. With no
|
|
202
125
|
* explicit `content-place`, darken the well evenly (slightly bottom-weighted). */
|
package/styles/runes/pricing.css
CHANGED
|
@@ -15,34 +15,8 @@
|
|
|
15
15
|
margin-top: 0;
|
|
16
16
|
}
|
|
17
17
|
.rf-pricing__eyebrow {
|
|
18
|
-
font-size: var(--rf-text-sm);
|
|
19
|
-
font-weight: var(--rf-weight-semibold);
|
|
20
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
21
|
-
text-transform: uppercase;
|
|
22
|
-
color: var(--rf-color-primary);
|
|
23
18
|
margin: 0 0 0.5rem;
|
|
24
19
|
}
|
|
25
|
-
.rf-pricing__eyebrow:has(a) {
|
|
26
|
-
padding: 0.25rem 0.875rem;
|
|
27
|
-
border: 1px solid var(--rf-color-border);
|
|
28
|
-
border-radius: var(--rf-radius-full);
|
|
29
|
-
color: var(--rf-color-text);
|
|
30
|
-
font-weight: var(--rf-weight-normal);
|
|
31
|
-
text-transform: none;
|
|
32
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
33
|
-
transition: border-color 150ms ease;
|
|
34
|
-
}
|
|
35
|
-
.rf-pricing__eyebrow:has(a):hover {
|
|
36
|
-
border-color: var(--rf-color-muted);
|
|
37
|
-
}
|
|
38
|
-
.rf-pricing__eyebrow:has(a) a {
|
|
39
|
-
color: var(--rf-color-primary);
|
|
40
|
-
font-weight: var(--rf-weight-semibold);
|
|
41
|
-
text-decoration: none;
|
|
42
|
-
}
|
|
43
|
-
.rf-pricing__eyebrow:has(a) a::before {
|
|
44
|
-
border-radius: inherit;
|
|
45
|
-
}
|
|
46
20
|
.rf-pricing__blurb {
|
|
47
21
|
color: var(--rf-color-muted);
|
|
48
22
|
margin-bottom: 0;
|
package/styles/runes/reveal.css
CHANGED
|
@@ -6,34 +6,8 @@
|
|
|
6
6
|
margin-bottom: 1.5rem;
|
|
7
7
|
}
|
|
8
8
|
.rf-reveal__eyebrow {
|
|
9
|
-
font-size: var(--rf-text-sm);
|
|
10
|
-
font-weight: var(--rf-weight-semibold);
|
|
11
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
12
|
-
text-transform: uppercase;
|
|
13
|
-
color: var(--rf-color-primary);
|
|
14
9
|
margin: 0 0 0.5rem;
|
|
15
10
|
}
|
|
16
|
-
.rf-reveal__eyebrow:has(a) {
|
|
17
|
-
padding: 0.25rem 0.875rem;
|
|
18
|
-
border: 1px solid var(--rf-color-border);
|
|
19
|
-
border-radius: var(--rf-radius-full);
|
|
20
|
-
color: var(--rf-color-text);
|
|
21
|
-
font-weight: var(--rf-weight-normal);
|
|
22
|
-
text-transform: none;
|
|
23
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
24
|
-
transition: border-color 150ms ease;
|
|
25
|
-
}
|
|
26
|
-
.rf-reveal__eyebrow:has(a):hover {
|
|
27
|
-
border-color: var(--rf-color-muted);
|
|
28
|
-
}
|
|
29
|
-
.rf-reveal__eyebrow:has(a) a {
|
|
30
|
-
color: var(--rf-color-primary);
|
|
31
|
-
font-weight: var(--rf-weight-semibold);
|
|
32
|
-
text-decoration: none;
|
|
33
|
-
}
|
|
34
|
-
.rf-reveal__eyebrow:has(a) a::before {
|
|
35
|
-
border-radius: inherit;
|
|
36
|
-
}
|
|
37
11
|
.rf-reveal__headline {
|
|
38
12
|
margin-top: 0;
|
|
39
13
|
}
|
package/styles/runes/section.css
CHANGED
|
@@ -6,6 +6,23 @@
|
|
|
6
6
|
gap: 1.5rem;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
/* With a split, the content column keeps the header-to-body rhythm. */
|
|
10
|
+
.rf-section__content {
|
|
11
|
+
gap: 1.5rem;
|
|
12
|
+
}
|
|
13
|
+
.rf-section__footer {
|
|
14
|
+
padding-top: var(--rf-spacing-sm);
|
|
15
|
+
border-top: 1px solid var(--rf-color-border);
|
|
16
|
+
font-size: 0.8125em;
|
|
17
|
+
color: var(--rf-color-muted);
|
|
18
|
+
}
|
|
19
|
+
.rf-section__footer > :first-child {
|
|
20
|
+
margin-top: 0;
|
|
21
|
+
}
|
|
22
|
+
.rf-section__footer > :last-child {
|
|
23
|
+
margin-bottom: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
9
26
|
/* Header */
|
|
10
27
|
.rf-section__preamble {
|
|
11
28
|
gap: 0.5rem;
|
|
@@ -13,34 +30,8 @@
|
|
|
13
30
|
margin: 0;
|
|
14
31
|
}
|
|
15
32
|
.rf-section__eyebrow {
|
|
16
|
-
font-size: var(--rf-text-sm);
|
|
17
|
-
font-weight: var(--rf-weight-semibold);
|
|
18
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
19
|
-
text-transform: uppercase;
|
|
20
|
-
color: var(--rf-color-primary);
|
|
21
33
|
margin: 0;
|
|
22
34
|
}
|
|
23
|
-
.rf-section__eyebrow:has(a) {
|
|
24
|
-
padding: 0.25rem 0.875rem;
|
|
25
|
-
border: 1px solid var(--rf-color-border);
|
|
26
|
-
border-radius: var(--rf-radius-full);
|
|
27
|
-
color: var(--rf-color-text);
|
|
28
|
-
font-weight: var(--rf-weight-normal);
|
|
29
|
-
text-transform: none;
|
|
30
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
31
|
-
transition: border-color 150ms ease;
|
|
32
|
-
}
|
|
33
|
-
.rf-section__eyebrow:has(a):hover {
|
|
34
|
-
border-color: var(--rf-color-muted);
|
|
35
|
-
}
|
|
36
|
-
.rf-section__eyebrow:has(a) a {
|
|
37
|
-
color: var(--rf-color-primary);
|
|
38
|
-
font-weight: var(--rf-weight-semibold);
|
|
39
|
-
text-decoration: none;
|
|
40
|
-
}
|
|
41
|
-
.rf-section__eyebrow:has(a) a::before {
|
|
42
|
-
border-radius: inherit;
|
|
43
|
-
}
|
|
44
35
|
.rf-section__headline {
|
|
45
36
|
margin: 0;
|
|
46
37
|
}
|
package/styles/runes/steps.css
CHANGED
|
@@ -6,34 +6,8 @@
|
|
|
6
6
|
margin-bottom: 1.5rem;
|
|
7
7
|
}
|
|
8
8
|
.rf-steps__eyebrow {
|
|
9
|
-
font-size: var(--rf-text-sm);
|
|
10
|
-
font-weight: var(--rf-weight-semibold);
|
|
11
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
12
|
-
text-transform: uppercase;
|
|
13
|
-
color: var(--rf-color-primary);
|
|
14
9
|
margin: 0 0 0.5rem;
|
|
15
10
|
}
|
|
16
|
-
.rf-steps__eyebrow:has(a) {
|
|
17
|
-
padding: 0.25rem 0.875rem;
|
|
18
|
-
border: 1px solid var(--rf-color-border);
|
|
19
|
-
border-radius: var(--rf-radius-full);
|
|
20
|
-
color: var(--rf-color-text);
|
|
21
|
-
font-weight: var(--rf-weight-normal);
|
|
22
|
-
text-transform: none;
|
|
23
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
24
|
-
transition: border-color 150ms ease;
|
|
25
|
-
}
|
|
26
|
-
.rf-steps__eyebrow:has(a):hover {
|
|
27
|
-
border-color: var(--rf-color-muted);
|
|
28
|
-
}
|
|
29
|
-
.rf-steps__eyebrow:has(a) a {
|
|
30
|
-
color: var(--rf-color-primary);
|
|
31
|
-
font-weight: var(--rf-weight-semibold);
|
|
32
|
-
text-decoration: none;
|
|
33
|
-
}
|
|
34
|
-
.rf-steps__eyebrow:has(a) a::before {
|
|
35
|
-
border-radius: inherit;
|
|
36
|
-
}
|
|
37
11
|
.rf-steps__headline {
|
|
38
12
|
margin-top: 0;
|
|
39
13
|
}
|
package/styles/runes/tabs.css
CHANGED
|
@@ -5,34 +5,8 @@
|
|
|
5
5
|
margin-bottom: 1.5rem;
|
|
6
6
|
}
|
|
7
7
|
.rf-tabs__eyebrow {
|
|
8
|
-
font-size: var(--rf-text-sm);
|
|
9
|
-
font-weight: var(--rf-weight-semibold);
|
|
10
|
-
letter-spacing: var(--rf-tracking-wider);
|
|
11
|
-
text-transform: uppercase;
|
|
12
|
-
color: var(--rf-color-primary);
|
|
13
8
|
margin: 0 0 0.5rem;
|
|
14
9
|
}
|
|
15
|
-
.rf-tabs__eyebrow:has(a) {
|
|
16
|
-
padding: 0.25rem 0.875rem;
|
|
17
|
-
border: 1px solid var(--rf-color-border);
|
|
18
|
-
border-radius: var(--rf-radius-full);
|
|
19
|
-
color: var(--rf-color-text);
|
|
20
|
-
font-weight: var(--rf-weight-normal);
|
|
21
|
-
text-transform: none;
|
|
22
|
-
letter-spacing: var(--rf-tracking-normal);
|
|
23
|
-
transition: border-color 150ms ease;
|
|
24
|
-
}
|
|
25
|
-
.rf-tabs__eyebrow:has(a):hover {
|
|
26
|
-
border-color: var(--rf-color-muted);
|
|
27
|
-
}
|
|
28
|
-
.rf-tabs__eyebrow:has(a) a {
|
|
29
|
-
color: var(--rf-color-primary);
|
|
30
|
-
font-weight: var(--rf-weight-semibold);
|
|
31
|
-
text-decoration: none;
|
|
32
|
-
}
|
|
33
|
-
.rf-tabs__eyebrow:has(a) a::before {
|
|
34
|
-
border-radius: inherit;
|
|
35
|
-
}
|
|
36
10
|
.rf-tabs__headline {
|
|
37
11
|
margin-top: 0;
|
|
38
12
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
@layer skin {
|
|
2
|
-
/* PageSection */
|
|
3
|
-
.rf-page-section {
|
|
4
|
-
padding: 3rem 0;
|
|
5
|
-
}
|
|
6
|
-
.rf-page-section > h1:first-child,
|
|
7
|
-
.rf-page-section > h2:first-child {
|
|
8
|
-
margin-top: 0;
|
|
9
|
-
}
|
|
10
|
-
.rf-page-section--split {
|
|
11
|
-
gap: 3rem;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@media (max-width: 768px) {
|
|
15
|
-
.rf-page-section--split {
|
|
16
|
-
gap: 1.5rem;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|