@refrakt-md/lumina 0.32.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.
- package/base.css +29 -29
- package/contracts/structures.json +58 -60
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +57 -57
- package/dist/icons.js.map +1 -1
- package/dist/presets/catppuccin.js.map +1 -1
- package/dist/presets/dracula.js.map +1 -1
- package/dist/presets/gruvbox.js.map +1 -1
- package/dist/presets/niwaki.js.map +1 -1
- package/dist/presets/nord.js.map +1 -1
- package/dist/presets/one-dark.js.map +1 -1
- package/dist/presets/solarized.js.map +1 -1
- package/dist/presets/tideline.d.ts.map +1 -1
- package/dist/presets/tideline.js +20 -4
- package/dist/presets/tideline.js.map +1 -1
- package/dist/presets/tokyo-night.js.map +1 -1
- package/dist/tokens.js.map +1 -1
- package/index.css +124 -124
- package/package.json +5 -5
- package/presets.json +61 -13
- package/styles/base/attributes.css +32 -13
- package/styles/dimensions/checklist.css +45 -46
- package/styles/dimensions/cover.css +71 -51
- package/styles/dimensions/density.css +69 -65
- package/styles/dimensions/frame.css +116 -57
- package/styles/dimensions/metadata.css +110 -103
- package/styles/dimensions/motion.css +42 -13
- package/styles/dimensions/reading.css +27 -27
- package/styles/dimensions/sections.css +44 -45
- package/styles/dimensions/sequence.css +56 -57
- package/styles/dimensions/state.css +8 -2
- package/styles/dimensions/substrate.css +82 -58
- package/styles/dimensions/surfaces.css +65 -62
- package/styles/elements/blockquote.css +24 -25
- package/styles/elements/code.css +72 -71
- package/styles/elements/table.css +36 -37
- package/styles/global.css +163 -121
- package/styles/layouts/blog.css +219 -218
- package/styles/layouts/default.css +168 -167
- package/styles/layouts/docs.css +121 -122
- package/styles/layouts/mobile.css +54 -55
- package/styles/layouts/on-this-page.css +46 -47
- package/styles/layouts/plan.css +248 -247
- package/styles/layouts/search.css +142 -140
- package/styles/layouts/split.css +45 -45
- package/styles/layouts/theme-toggle.css +33 -31
- package/styles/layouts/version-switcher.css +38 -37
- package/styles/runes/accordion.css +90 -81
- package/styles/runes/aggregate.css +50 -39
- package/styles/runes/annotate.css +46 -45
- package/styles/runes/api.css +22 -23
- package/styles/runes/audio.css +140 -141
- package/styles/runes/badge.css +12 -13
- package/styles/runes/bar.css +4 -5
- package/styles/runes/bento.css +73 -62
- package/styles/runes/bg.css +62 -47
- package/styles/runes/blog.css +89 -90
- package/styles/runes/bond.css +49 -50
- package/styles/runes/breadcrumb.css +34 -35
- package/styles/runes/budget.css +126 -127
- package/styles/runes/bug.css +28 -27
- package/styles/runes/card.css +63 -60
- package/styles/runes/carousel.css +15 -15
- package/styles/runes/cast.css +50 -51
- package/styles/runes/changelog.css +45 -46
- package/styles/runes/character.css +31 -32
- package/styles/runes/chart.css +194 -106
- package/styles/runes/codegroup.css +109 -100
- package/styles/runes/collection.css +87 -86
- package/styles/runes/compare.css +38 -39
- package/styles/runes/comparison.css +205 -179
- package/styles/runes/conversation.css +36 -33
- package/styles/runes/cta.css +135 -132
- package/styles/runes/datatable.css +84 -83
- package/styles/runes/decision.css +25 -26
- package/styles/runes/design-context.css +21 -23
- package/styles/runes/details.css +26 -27
- package/styles/runes/diagram.css +28 -29
- package/styles/runes/diff.css +75 -72
- package/styles/runes/drawer.css +276 -198
- package/styles/runes/embed.css +20 -21
- package/styles/runes/event.css +35 -36
- package/styles/runes/expand.css +43 -34
- package/styles/runes/faction.css +47 -48
- package/styles/runes/feature.css +119 -112
- package/styles/runes/figure.css +11 -12
- package/styles/runes/file-ref.css +11 -13
- package/styles/runes/form.css +155 -154
- package/styles/runes/gallery.css +59 -60
- package/styles/runes/grid.css +10 -7
- package/styles/runes/hero.css +189 -185
- package/styles/runes/hint.css +57 -58
- package/styles/runes/howto.css +62 -64
- package/styles/runes/itinerary.css +133 -134
- package/styles/runes/juxtapose.css +83 -82
- package/styles/runes/lore.css +32 -34
- package/styles/runes/map.css +106 -99
- package/styles/runes/mediatext.css +30 -27
- package/styles/runes/milestone.css +98 -97
- package/styles/runes/mockup.css +338 -335
- package/styles/runes/nav.css +465 -450
- package/styles/runes/organization.css +23 -20
- package/styles/runes/page-section.css +14 -15
- package/styles/runes/pagination.css +45 -44
- package/styles/runes/palette.css +78 -80
- package/styles/runes/placeholder.css +8 -9
- package/styles/runes/plan-history.css +160 -161
- package/styles/runes/plan-progress.css +15 -16
- package/styles/runes/plan-ref.css +32 -23
- package/styles/runes/playlist.css +106 -107
- package/styles/runes/plot.css +92 -91
- package/styles/runes/preview.css +152 -149
- package/styles/runes/pricing.css +133 -123
- package/styles/runes/progress.css +32 -27
- package/styles/runes/pullquote.css +89 -90
- package/styles/runes/realm.css +47 -48
- package/styles/runes/recipe.css +112 -114
- package/styles/runes/relationships.css +77 -76
- package/styles/runes/reveal.css +90 -79
- package/styles/runes/sandbox.css +59 -60
- package/styles/runes/section.css +57 -50
- package/styles/runes/showcase.css +35 -16
- package/styles/runes/sidenote.css +30 -27
- package/styles/runes/snippet.css +8 -9
- package/styles/runes/spacing.css +86 -88
- package/styles/runes/spec.css +24 -25
- package/styles/runes/steps.css +89 -80
- package/styles/runes/storyboard.css +46 -45
- package/styles/runes/swatch.css +22 -23
- package/styles/runes/symbol.css +117 -118
- package/styles/runes/tabs.css +88 -79
- package/styles/runes/testimonial.css +43 -44
- package/styles/runes/textblock.css +32 -28
- package/styles/runes/timeline.css +63 -64
- package/styles/runes/tint.css +214 -215
- package/styles/runes/toc.css +40 -41
- package/styles/runes/track.css +89 -90
- package/styles/runes/typography.css +89 -91
- package/styles/runes/work.css +47 -36
- package/styles/runes/xref.css +21 -22
package/styles/runes/sandbox.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Sandbox — skin. The iframe clip/fill + banner/poster/activate layout live in
|
|
2
|
+
/* Sandbox — skin. The iframe clip/fill + banner/poster/activate layout live in
|
|
3
3
|
* @refrakt-md/skeleton (styles/runes/sandbox.css). */
|
|
4
4
|
|
|
5
|
-
/* The iframe canvas is opaque (the behaviour writes `color-scheme` onto the
|
|
5
|
+
/* The iframe canvas is opaque (the behaviour writes `color-scheme` onto the
|
|
6
6
|
* srcdoc `<html>`, so the UA paints a solid backdrop — `background: transparent`
|
|
7
7
|
* can't make it see-through). A rounded shape therefore can't come from inside
|
|
8
8
|
* the sandbox; the embedding element has to clip it. The sandbox owns its
|
|
@@ -13,62 +13,61 @@
|
|
|
13
13
|
* (hero/feature) where the guest keeps its own chrome — while a clip-host well
|
|
14
14
|
* rounds it to the smaller media tier via the shared `[data-section="media"]
|
|
15
15
|
* > *` rule. A full-bleed cover/backdrop sandbox sits flush. */
|
|
16
|
-
.rf-sandbox {
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
[data-media-position="cover"] .rf-sandbox {
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
.rf-sandbox iframe {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
/* Static fallback (pre/code shown before hydration) */
|
|
27
|
-
.rf-sandbox pre {
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
/* When inside preview, remove sandbox margin */
|
|
31
|
-
.rf-preview .rf-sandbox {
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
/* Untrusted-mode affordance. */
|
|
35
|
-
.rf-sandbox[data-security-mode="untrusted"] {
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
.rf-sandbox__untrusted-banner {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
.rf-sandbox__poster {
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
.rf-sandbox__activate {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
.rf-sandbox__activate::before {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
.rf-sandbox__activate:hover {
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
.rf-sandbox__activate:focus-visible {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
16
|
+
.rf-sandbox {
|
|
17
|
+
border-radius: var(--rf-radius-container);
|
|
18
|
+
}
|
|
19
|
+
[data-media-position="cover"] .rf-sandbox {
|
|
20
|
+
border-radius: 0;
|
|
21
|
+
}
|
|
22
|
+
.rf-sandbox iframe {
|
|
23
|
+
border: none;
|
|
24
|
+
border-radius: inherit;
|
|
25
|
+
}
|
|
26
|
+
/* Static fallback (pre/code shown before hydration) */
|
|
27
|
+
.rf-sandbox pre {
|
|
28
|
+
margin: 0;
|
|
29
|
+
}
|
|
30
|
+
/* When inside preview, remove sandbox margin */
|
|
31
|
+
.rf-preview .rf-sandbox {
|
|
32
|
+
margin: 0;
|
|
33
|
+
}
|
|
34
|
+
/* Untrusted-mode affordance. */
|
|
35
|
+
.rf-sandbox[data-security-mode="untrusted"] {
|
|
36
|
+
border: 1px solid var(--rf-color-warning, #b45309);
|
|
37
|
+
}
|
|
38
|
+
.rf-sandbox__untrusted-banner {
|
|
39
|
+
padding: 0.5rem 0.75rem;
|
|
40
|
+
font-size: var(--rf-text-sm);
|
|
41
|
+
line-height: 1.25rem;
|
|
42
|
+
font-weight: var(--rf-weight-semibold);
|
|
43
|
+
color: var(--rf-color-warning);
|
|
44
|
+
background: var(--rf-color-warning-bg, #fef3c7);
|
|
45
|
+
border-bottom: 1px solid var(--rf-color-warning, #b45309);
|
|
46
|
+
}
|
|
47
|
+
.rf-sandbox__poster {
|
|
48
|
+
background: var(--rf-color-surface-2, var(--rf-color-surface, #f4f4f5));
|
|
49
|
+
}
|
|
50
|
+
.rf-sandbox__activate {
|
|
51
|
+
gap: 0.5ch;
|
|
52
|
+
padding: 0.5rem 1rem;
|
|
53
|
+
font: inherit;
|
|
54
|
+
font-weight: var(--rf-weight-semibold);
|
|
55
|
+
color: var(--rf-color-on-accent, #fff);
|
|
56
|
+
background: var(--rf-color-accent, #2563eb);
|
|
57
|
+
border: none;
|
|
58
|
+
border-radius: var(--rf-radius-md);
|
|
59
|
+
cursor: pointer;
|
|
60
|
+
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
|
|
61
|
+
}
|
|
62
|
+
.rf-sandbox__activate::before {
|
|
63
|
+
content: "▶";
|
|
64
|
+
font-size: 0.85em;
|
|
65
|
+
}
|
|
66
|
+
.rf-sandbox__activate:hover {
|
|
67
|
+
background: var(--rf-color-accent-hover, var(--rf-color-accent, #1d4ed8));
|
|
68
|
+
}
|
|
69
|
+
.rf-sandbox__activate:focus-visible {
|
|
70
|
+
outline: 2px solid var(--rf-color-accent, #2563eb);
|
|
71
|
+
outline-offset: 2px;
|
|
72
|
+
}
|
|
74
73
|
}
|
package/styles/runes/section.css
CHANGED
|
@@ -1,56 +1,63 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Section — a generic page section: an eyebrow/headline/blurb header above
|
|
2
|
+
/* Section — a generic page section: an eyebrow/headline/blurb header above
|
|
3
3
|
arbitrary body content. Header styling mirrors the shared page-section look
|
|
4
4
|
(reveal/feature); the body is content-agnostic and full width. */
|
|
5
|
-
.rf-section {
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/* Header */
|
|
10
|
-
.rf-section__preamble {
|
|
11
|
-
gap: 0.5rem;
|
|
12
|
-
max-width: var(--rf-measure, 65ch);
|
|
13
|
-
margin: 0;
|
|
14
|
-
}
|
|
15
|
-
.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
|
-
margin: 0;
|
|
22
|
-
}
|
|
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 { border-color: var(--rf-color-muted); }
|
|
34
|
-
.rf-section__eyebrow:has(a) a { color: var(--rf-color-primary); font-weight: var(--rf-weight-semibold); text-decoration: none; }
|
|
35
|
-
.rf-section__eyebrow:has(a) a::before { border-radius: inherit; }
|
|
36
|
-
.rf-section__headline {
|
|
37
|
-
margin: 0;
|
|
38
|
-
}
|
|
39
|
-
.rf-section__blurb {
|
|
40
|
-
color: var(--rf-color-muted);
|
|
41
|
-
margin: 0;
|
|
42
|
-
}
|
|
43
|
-
.rf-section__image {
|
|
44
|
-
margin: 0;
|
|
45
|
-
border-radius: var(--rf-radius-md);
|
|
46
|
-
}
|
|
5
|
+
.rf-section {
|
|
6
|
+
gap: 1.5rem;
|
|
7
|
+
}
|
|
47
8
|
|
|
48
|
-
/* Header
|
|
49
|
-
.rf-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
9
|
+
/* Header */
|
|
10
|
+
.rf-section__preamble {
|
|
11
|
+
gap: 0.5rem;
|
|
12
|
+
max-width: var(--rf-measure, 65ch);
|
|
13
|
+
margin: 0;
|
|
14
|
+
}
|
|
15
|
+
.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
|
+
margin: 0;
|
|
22
|
+
}
|
|
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
|
+
.rf-section__headline {
|
|
45
|
+
margin: 0;
|
|
46
|
+
}
|
|
47
|
+
.rf-section__blurb {
|
|
48
|
+
color: var(--rf-color-muted);
|
|
49
|
+
margin: 0;
|
|
50
|
+
}
|
|
51
|
+
.rf-section__image {
|
|
52
|
+
margin: 0;
|
|
53
|
+
border-radius: var(--rf-radius-md);
|
|
54
|
+
}
|
|
55
55
|
|
|
56
|
+
/* Header alignment (the body stays full width). */
|
|
57
|
+
.rf-section[data-align="center"] .rf-section__preamble {
|
|
58
|
+
text-align: center;
|
|
59
|
+
}
|
|
60
|
+
.rf-section[data-align="end"] .rf-section__preamble {
|
|
61
|
+
text-align: end;
|
|
62
|
+
}
|
|
56
63
|
}
|
|
@@ -1,21 +1,40 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Spacing — vertical margin around the showcase */
|
|
3
|
-
.rf-showcase[data-spacing="flush"]
|
|
4
|
-
.rf-showcase[data-spacing="tight"] { margin-top: var(--rf-spacing-section-tight, 1.5rem); margin-bottom: var(--rf-spacing-section-tight, 1.5rem); }
|
|
5
|
-
.rf-showcase[data-spacing="loose"] { margin-top: var(--rf-spacing-section-loose, 8rem); margin-bottom: var(--rf-spacing-section-loose, 8rem); }
|
|
6
|
-
.rf-showcase[data-spacing="breathe"] { margin-top: var(--rf-spacing-section-breathe, 12rem); margin-bottom: var(--rf-spacing-section-breathe, 12rem); }
|
|
7
|
-
/* Inset — all-around padding (not just inline, since showcase is a contained frame) */
|
|
8
|
-
.rf-showcase[data-inset="flush"] { padding: 0; }
|
|
9
|
-
.rf-showcase[data-inset="tight"] { padding: var(--rf-inset-tight, 1rem); }
|
|
10
|
-
.rf-showcase[data-inset="loose"] { padding: var(--rf-inset-loose, 4rem); }
|
|
11
|
-
.rf-showcase[data-inset="breathe"] { padding: var(--rf-inset-breathe, 8rem); }
|
|
12
|
-
/* Responsive: collapse bleed on mobile */
|
|
13
|
-
@media (max-width: 768px) {
|
|
14
|
-
.rf-showcase[data-bleed] {
|
|
2
|
+
/* Spacing — vertical margin around the showcase */
|
|
3
|
+
.rf-showcase[data-spacing="flush"] {
|
|
15
4
|
margin-top: 0;
|
|
16
5
|
margin-bottom: 0;
|
|
17
|
-
margin-inline-end: 0;
|
|
18
6
|
}
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
.rf-showcase[data-spacing="tight"] {
|
|
8
|
+
margin-top: var(--rf-spacing-section-tight, 1.5rem);
|
|
9
|
+
margin-bottom: var(--rf-spacing-section-tight, 1.5rem);
|
|
10
|
+
}
|
|
11
|
+
.rf-showcase[data-spacing="loose"] {
|
|
12
|
+
margin-top: var(--rf-spacing-section-loose, 8rem);
|
|
13
|
+
margin-bottom: var(--rf-spacing-section-loose, 8rem);
|
|
14
|
+
}
|
|
15
|
+
.rf-showcase[data-spacing="breathe"] {
|
|
16
|
+
margin-top: var(--rf-spacing-section-breathe, 12rem);
|
|
17
|
+
margin-bottom: var(--rf-spacing-section-breathe, 12rem);
|
|
18
|
+
}
|
|
19
|
+
/* Inset — all-around padding (not just inline, since showcase is a contained frame) */
|
|
20
|
+
.rf-showcase[data-inset="flush"] {
|
|
21
|
+
padding: 0;
|
|
22
|
+
}
|
|
23
|
+
.rf-showcase[data-inset="tight"] {
|
|
24
|
+
padding: var(--rf-inset-tight, 1rem);
|
|
25
|
+
}
|
|
26
|
+
.rf-showcase[data-inset="loose"] {
|
|
27
|
+
padding: var(--rf-inset-loose, 4rem);
|
|
28
|
+
}
|
|
29
|
+
.rf-showcase[data-inset="breathe"] {
|
|
30
|
+
padding: var(--rf-inset-breathe, 8rem);
|
|
31
|
+
}
|
|
32
|
+
/* Responsive: collapse bleed on mobile */
|
|
33
|
+
@media (max-width: 768px) {
|
|
34
|
+
.rf-showcase[data-bleed] {
|
|
35
|
+
margin-top: 0;
|
|
36
|
+
margin-bottom: 0;
|
|
37
|
+
margin-inline-end: 0;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
21
40
|
}
|
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Sidenote */
|
|
3
|
-
.rf-sidenote {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
.rf-sidenote--sidenote {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
.rf-sidenote--footnote {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
.rf-sidenote--tooltip {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
.rf-sidenote__body p {
|
|
27
|
-
|
|
28
|
-
|
|
2
|
+
/* Sidenote */
|
|
3
|
+
.rf-sidenote {
|
|
4
|
+
margin: 1rem 0;
|
|
5
|
+
font-size: var(--rf-text-sm);
|
|
6
|
+
line-height: var(--rf-leading-relaxed);
|
|
7
|
+
}
|
|
8
|
+
.rf-sidenote--sidenote {
|
|
9
|
+
border-left: 3px solid var(--rf-color-primary);
|
|
10
|
+
padding: 0.75rem 1rem;
|
|
11
|
+
color: var(--rf-color-muted);
|
|
12
|
+
}
|
|
13
|
+
.rf-sidenote--footnote {
|
|
14
|
+
border-top: 1px solid var(--rf-color-border);
|
|
15
|
+
padding-top: 0.75rem;
|
|
16
|
+
margin-top: 2rem;
|
|
17
|
+
color: var(--rf-color-muted);
|
|
18
|
+
}
|
|
19
|
+
.rf-sidenote--tooltip {
|
|
20
|
+
background: var(--rf-color-surface-hover);
|
|
21
|
+
border: 1px solid var(--rf-color-border);
|
|
22
|
+
border-radius: var(--rf-radius-md);
|
|
23
|
+
padding: 0.75rem 1rem;
|
|
24
|
+
color: var(--rf-color-muted);
|
|
25
|
+
}
|
|
26
|
+
.rf-sidenote__body p {
|
|
27
|
+
margin: 0;
|
|
28
|
+
}
|
|
29
|
+
.rf-sidenote__body p + p {
|
|
30
|
+
margin-top: 0.5rem;
|
|
31
|
+
}
|
|
29
32
|
}
|
package/styles/runes/snippet.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Snippet — file embedded as a code block.
|
|
2
|
+
/* Snippet — file embedded as a code block.
|
|
3
3
|
*
|
|
4
4
|
* The standalone form is a `<figure class="rf-snippet">` wrapping the
|
|
5
5
|
* existing `<pre class="rf-code-block">`. Nested forms (snippet inside
|
|
@@ -14,17 +14,16 @@
|
|
|
14
14
|
* SPEC-062.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
.rf-snippet {
|
|
18
|
-
|
|
17
|
+
.rf-snippet {
|
|
18
|
+
/* Override the UA `<figure>` defaults — browsers ship with
|
|
19
19
|
* margin-inline: 40px and margin-block: 1em which makes the snippet
|
|
20
20
|
* figure look indented inside any container. The longhand resets
|
|
21
21
|
* cover both physical and logical margin properties because the
|
|
22
22
|
* physical longhands set by `margin:` don't always cascade-override
|
|
23
23
|
* the UA's logical longhands. */
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
24
|
+
margin: var(--rf-spacing-md) 0;
|
|
25
|
+
margin-inline-start: 0;
|
|
26
|
+
margin-inline-end: 0;
|
|
27
|
+
padding: 0;
|
|
28
|
+
}
|
|
30
29
|
}
|
package/styles/runes/spacing.css
CHANGED
|
@@ -1,98 +1,96 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
|
|
3
|
-
/* WORK-538 — resting title size, so the prominence ramp computes from it
|
|
2
|
+
/* WORK-538 — resting title size, so the prominence ramp computes from it
|
|
4
3
|
* rather than from the density default. */
|
|
5
|
-
.rf-spacing {
|
|
6
|
-
|
|
7
|
-
}
|
|
4
|
+
.rf-spacing {
|
|
5
|
+
--rf-title-size: var(--rf-text-lg);
|
|
6
|
+
}
|
|
8
7
|
|
|
9
|
-
/* Spacing — spacing scale, radii, and shadow display */
|
|
10
|
-
.rf-spacing__title {
|
|
11
|
-
|
|
8
|
+
/* Spacing — spacing scale, radii, and shadow display */
|
|
9
|
+
.rf-spacing__title {
|
|
10
|
+
/* WORK-538 — read the prominence override first; the fallback is this rune's
|
|
12
11
|
* resting size, stated as --rf-title-size on the root so the prominence ramp
|
|
13
12
|
* can compute from it. */
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
.rf-spacing__section {
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
.rf-spacing__section:last-child {
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
.rf-spacing__section-title {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/* Spacing scale — proportional bars */
|
|
34
|
-
.rf-spacing__scale {
|
|
35
|
-
gap: 0.375rem;
|
|
36
|
-
}
|
|
37
|
-
.rf-spacing__scale-item {
|
|
38
|
-
gap: 0.75rem;
|
|
39
|
-
}
|
|
40
|
-
.rf-spacing__scale-bar {
|
|
41
|
-
background: var(--rf-color-primary);
|
|
42
|
-
border-radius: var(--rf-radius-sm, 4px);
|
|
43
|
-
opacity: 0.8;
|
|
44
|
-
}
|
|
45
|
-
.rf-spacing__scale-label {
|
|
46
|
-
font-size: var(--rf-text-xs);
|
|
47
|
-
font-family: var(--rf-font-mono, monospace);
|
|
48
|
-
color: var(--rf-color-text, #1a1a2e);
|
|
49
|
-
white-space: nowrap;
|
|
50
|
-
}
|
|
51
|
-
.rf-spacing__scale-multiplier {
|
|
52
|
-
color: var(--rf-color-muted);
|
|
53
|
-
margin-left: 0.25rem;
|
|
54
|
-
}
|
|
13
|
+
font-size: var(--rf-prominence-size, var(--rf-title-size));
|
|
14
|
+
font-weight: var(--rf-weight-semibold);
|
|
15
|
+
margin-bottom: 1rem;
|
|
16
|
+
}
|
|
17
|
+
.rf-spacing__section {
|
|
18
|
+
margin-bottom: 2rem;
|
|
19
|
+
}
|
|
20
|
+
.rf-spacing__section:last-child {
|
|
21
|
+
margin-bottom: 0;
|
|
22
|
+
}
|
|
23
|
+
.rf-spacing__section-title {
|
|
24
|
+
font-size: var(--rf-text-xs);
|
|
25
|
+
font-weight: var(--rf-weight-semibold);
|
|
26
|
+
text-transform: uppercase;
|
|
27
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
28
|
+
color: var(--rf-color-muted);
|
|
29
|
+
margin-bottom: 0.75rem;
|
|
30
|
+
}
|
|
55
31
|
|
|
56
|
-
/*
|
|
57
|
-
.rf-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
.rf-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
.rf-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
32
|
+
/* Spacing scale — proportional bars */
|
|
33
|
+
.rf-spacing__scale {
|
|
34
|
+
gap: 0.375rem;
|
|
35
|
+
}
|
|
36
|
+
.rf-spacing__scale-item {
|
|
37
|
+
gap: 0.75rem;
|
|
38
|
+
}
|
|
39
|
+
.rf-spacing__scale-bar {
|
|
40
|
+
background: var(--rf-color-primary);
|
|
41
|
+
border-radius: var(--rf-radius-sm, 4px);
|
|
42
|
+
opacity: 0.8;
|
|
43
|
+
}
|
|
44
|
+
.rf-spacing__scale-label {
|
|
45
|
+
font-size: var(--rf-text-xs);
|
|
46
|
+
font-family: var(--rf-font-mono, monospace);
|
|
47
|
+
color: var(--rf-color-text, #1a1a2e);
|
|
48
|
+
white-space: nowrap;
|
|
49
|
+
}
|
|
50
|
+
.rf-spacing__scale-multiplier {
|
|
51
|
+
color: var(--rf-color-muted);
|
|
52
|
+
margin-left: 0.25rem;
|
|
53
|
+
}
|
|
76
54
|
|
|
77
|
-
/*
|
|
78
|
-
.rf-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
.rf-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
.rf-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
.rf-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
55
|
+
/* Radius — rounded corner samples */
|
|
56
|
+
.rf-spacing__radii {
|
|
57
|
+
gap: 1.25rem;
|
|
58
|
+
}
|
|
59
|
+
.rf-spacing__radius-item {
|
|
60
|
+
gap: 0.375rem;
|
|
61
|
+
}
|
|
62
|
+
.rf-spacing__radius-sample {
|
|
63
|
+
border: 2px solid var(--rf-color-border, #e5e7eb);
|
|
64
|
+
background: var(--rf-color-surface-raised, #f9fafb);
|
|
65
|
+
}
|
|
66
|
+
.rf-spacing__radius-label {
|
|
67
|
+
font-weight: var(--rf-weight-medium);
|
|
68
|
+
font-size: var(--rf-text-xs);
|
|
69
|
+
}
|
|
70
|
+
.rf-spacing__radius-value {
|
|
71
|
+
font-size: var(--rf-text-xs);
|
|
72
|
+
font-family: var(--rf-font-mono, monospace);
|
|
73
|
+
color: var(--rf-color-muted);
|
|
74
|
+
}
|
|
92
75
|
|
|
93
|
-
/*
|
|
94
|
-
.rf-
|
|
95
|
-
|
|
96
|
-
}
|
|
76
|
+
/* Shadows — sample cards */
|
|
77
|
+
.rf-spacing__shadows {
|
|
78
|
+
gap: 1.5rem;
|
|
79
|
+
}
|
|
80
|
+
.rf-spacing__shadow-item {
|
|
81
|
+
gap: 0.5rem;
|
|
82
|
+
}
|
|
83
|
+
.rf-spacing__shadow-sample {
|
|
84
|
+
background: var(--rf-color-surface, #fff);
|
|
85
|
+
border-radius: var(--rf-radius-md, 8px);
|
|
86
|
+
}
|
|
87
|
+
.rf-spacing__shadow-label {
|
|
88
|
+
font-weight: var(--rf-weight-medium);
|
|
89
|
+
font-size: var(--rf-text-xs);
|
|
90
|
+
}
|
|
97
91
|
|
|
92
|
+
/* Context-aware: no outer margin when inside design-context */
|
|
93
|
+
.rf-spacing--in-design-context {
|
|
94
|
+
margin: 0;
|
|
95
|
+
}
|
|
98
96
|
}
|
package/styles/runes/spec.css
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Spec */
|
|
2
|
+
/* Spec */
|
|
3
3
|
|
|
4
|
-
/* SPEC-079: eyebrow + metadata zone names replace header-primary /
|
|
4
|
+
/* SPEC-079: eyebrow + metadata zone names replace header-primary /
|
|
5
5
|
* header-secondary. Layout-level geometry lives on [data-zone-layout]
|
|
6
6
|
* selectors. */
|
|
7
7
|
|
|
8
|
-
.rf-spec__eyebrow {
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
.rf-spec__title h1,
|
|
12
|
-
.rf-spec__title h2,
|
|
13
|
-
.rf-spec__title h3 {
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.rf-spec__metadata {
|
|
18
|
-
margin-bottom: 1.5rem;
|
|
19
|
-
}
|
|
8
|
+
.rf-spec__eyebrow {
|
|
9
|
+
margin-bottom: 0.75rem;
|
|
10
|
+
}
|
|
11
|
+
.rf-spec__title h1,
|
|
12
|
+
.rf-spec__title h2,
|
|
13
|
+
.rf-spec__title h3 {
|
|
14
|
+
margin-top: 0;
|
|
15
|
+
}
|
|
20
16
|
|
|
21
|
-
.rf-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
.rf-spec__body blockquote {
|
|
26
|
-
border-left: 3px solid var(--rf-color-border);
|
|
27
|
-
padding: 0.5rem 1rem;
|
|
28
|
-
margin: 0.75rem 0;
|
|
29
|
-
font-style: italic;
|
|
30
|
-
color: var(--rf-color-muted);
|
|
31
|
-
}
|
|
17
|
+
.rf-spec__metadata {
|
|
18
|
+
margin-bottom: 1.5rem;
|
|
19
|
+
}
|
|
32
20
|
|
|
21
|
+
.rf-spec__body {
|
|
22
|
+
font-size: var(--rf-text-sm);
|
|
23
|
+
line-height: var(--rf-leading-relaxed);
|
|
24
|
+
}
|
|
25
|
+
.rf-spec__body blockquote {
|
|
26
|
+
border-left: 3px solid var(--rf-color-border);
|
|
27
|
+
padding: 0.5rem 1rem;
|
|
28
|
+
margin: 0.75rem 0;
|
|
29
|
+
font-style: italic;
|
|
30
|
+
color: var(--rf-color-muted);
|
|
31
|
+
}
|
|
33
32
|
}
|