@refrakt-md/lumina 0.9.2 → 0.9.3

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.
@@ -284,11 +284,6 @@
284
284
  "{content}"
285
285
  ],
286
286
  "modifiers": {
287
- "title": {
288
- "source": "meta",
289
- "classPattern": ".rf-budget--{value}",
290
- "dataAttribute": "data-title"
291
- },
292
287
  "currency": {
293
288
  "source": "meta",
294
289
  "default": "USD",
@@ -331,19 +326,11 @@
331
326
  "selector": ".rf-budget__header",
332
327
  "source": "structure",
333
328
  "conditionAny": [
334
- "title",
335
329
  "currency",
336
330
  "travelers",
337
331
  "duration"
338
332
  ]
339
333
  },
340
- "title": {
341
- "tag": "h2",
342
- "selector": ".rf-budget__title",
343
- "source": "structure",
344
- "parent": "header",
345
- "condition": "title"
346
- },
347
334
  "meta": {
348
335
  "tag": "div",
349
336
  "selector": ".rf-budget__meta",
@@ -2365,7 +2352,7 @@
2365
2352
  "root": ".rf-event",
2366
2353
  "dataRune": "event",
2367
2354
  "childOrder": [
2368
- "details",
2355
+ "header",
2369
2356
  "{content:content}"
2370
2357
  ],
2371
2358
  "modifiers": {
@@ -2391,42 +2378,34 @@
2391
2378
  }
2392
2379
  },
2393
2380
  "elements": {
2394
- "details": {
2395
- "tag": "div",
2396
- "selector": ".rf-event__details",
2397
- "source": "structure"
2398
- },
2399
- "detail": {
2381
+ "header": {
2400
2382
  "tag": "div",
2401
- "selector": ".rf-event__detail",
2383
+ "selector": ".rf-event__header",
2402
2384
  "source": "structure",
2403
- "parent": "details",
2404
- "condition": "date"
2405
- },
2406
- "label": {
2407
- "tag": "span",
2408
- "selector": ".rf-event__label",
2409
- "source": "structure",
2410
- "parent": "detail"
2385
+ "conditionAny": [
2386
+ "date",
2387
+ "location",
2388
+ "url"
2389
+ ]
2411
2390
  },
2412
- "value": {
2413
- "tag": "span",
2414
- "selector": ".rf-event__value",
2391
+ "meta": {
2392
+ "tag": "div",
2393
+ "selector": ".rf-event__meta",
2415
2394
  "source": "structure",
2416
- "parent": "detail"
2395
+ "parent": "header"
2417
2396
  },
2418
- "end-date": {
2397
+ "meta-item": {
2419
2398
  "tag": "span",
2420
- "selector": ".rf-event__end-date",
2399
+ "selector": ".rf-event__meta-item",
2421
2400
  "source": "structure",
2422
- "parent": "detail",
2423
- "condition": "endDate"
2401
+ "parent": "meta",
2402
+ "condition": "date"
2424
2403
  },
2425
2404
  "register": {
2426
2405
  "tag": "a",
2427
2406
  "selector": ".rf-event__register",
2428
2407
  "source": "structure",
2429
- "parent": "details",
2408
+ "parent": "header",
2430
2409
  "condition": "url"
2431
2410
  },
2432
2411
  "content": {
package/dist/config.js CHANGED
@@ -6,74 +6,74 @@ export const luminaConfig = mergeThemeConfig(baseConfig, {
6
6
  tints: {
7
7
  base: {
8
8
  light: {
9
- background: '#ffffff',
10
- surface: '#f8fafc',
11
- primary: '#1a1a2e',
12
- secondary: '#64748b',
13
- accent: '#0ea5e9',
14
- border: '#e2e8f0',
9
+ background: 'var(--rf-color-bg)',
10
+ surface: 'var(--rf-color-surface)',
11
+ primary: 'var(--rf-color-text)',
12
+ secondary: 'var(--rf-color-muted)',
13
+ accent: 'var(--rf-color-primary)',
14
+ border: 'var(--rf-color-border)',
15
15
  },
16
16
  dark: {
17
- background: '#0c1222',
18
- surface: '#0f172a',
19
- primary: '#e2e8f0',
20
- secondary: '#94a3b8',
21
- accent: '#38bdf8',
22
- border: 'rgba(255, 255, 255, 0.1)',
17
+ background: 'var(--rf-color-bg)',
18
+ surface: 'var(--rf-color-surface)',
19
+ primary: 'var(--rf-color-text)',
20
+ secondary: 'var(--rf-color-muted)',
21
+ accent: 'var(--rf-color-primary)',
22
+ border: 'var(--rf-color-border)',
23
23
  },
24
24
  },
25
25
  subtle: {
26
26
  light: {
27
- background: '#f8f9fb',
28
- surface: '#f8fafc',
29
- primary: '#1a1a2e',
30
- secondary: '#64748b',
31
- accent: '#0ea5e9',
32
- border: '#e2e8f0',
27
+ background: 'var(--rf-color-surface)',
28
+ surface: 'var(--rf-color-surface-hover)',
29
+ primary: 'var(--rf-color-text)',
30
+ secondary: 'var(--rf-color-muted)',
31
+ accent: 'var(--rf-color-primary)',
32
+ border: 'var(--rf-color-border)',
33
33
  },
34
34
  dark: {
35
- background: '#111827',
36
- surface: '#0f172a',
37
- primary: '#e2e8f0',
38
- secondary: '#94a3b8',
39
- accent: '#38bdf8',
40
- border: 'rgba(255, 255, 255, 0.1)',
35
+ background: 'var(--rf-color-surface)',
36
+ surface: 'var(--rf-color-surface-hover)',
37
+ primary: 'var(--rf-color-text)',
38
+ secondary: 'var(--rf-color-muted)',
39
+ accent: 'var(--rf-color-primary)',
40
+ border: 'var(--rf-color-border)',
41
41
  },
42
42
  },
43
43
  warm: {
44
44
  light: {
45
- background: '#fdf6e3',
46
- primary: '#5c4a32',
47
- accent: '#c47d3b',
48
- border: '#e0d5c0',
45
+ background: 'var(--rf-color-surface-active)',
46
+ primary: 'var(--rf-color-text)',
47
+ accent: 'var(--rf-color-warning)',
48
+ border: 'var(--rf-color-border)',
49
49
  },
50
50
  dark: {
51
- background: '#2a2118',
52
- primary: '#e8d5b7',
53
- accent: '#e0a86e',
51
+ background: '#2a2018',
52
+ primary: 'var(--rf-color-text)',
53
+ accent: 'var(--rf-color-warning)',
54
54
  border: '#4a3f33',
55
55
  },
56
56
  },
57
57
  cool: {
58
58
  light: {
59
- background: '#f0f4ff',
60
- primary: '#1e3a5f',
61
- accent: '#3b82f6',
62
- border: '#c7d7f0',
59
+ background: 'var(--rf-color-info-bg)',
60
+ primary: 'var(--rf-color-text)',
61
+ accent: 'var(--rf-color-primary)',
62
+ border: 'var(--rf-color-info-border)',
63
63
  },
64
64
  dark: {
65
- background: '#0f1a2e',
66
- primary: '#c7d7f0',
67
- accent: '#60a5fa',
68
- border: '#1e3a5f',
65
+ background: 'var(--rf-color-primary-950)',
66
+ primary: 'var(--rf-color-primary-300)',
67
+ accent: 'var(--rf-color-primary)',
68
+ border: 'var(--rf-color-primary-700)',
69
69
  },
70
70
  },
71
71
  dark: {
72
72
  mode: 'dark',
73
73
  dark: {
74
- background: '#1a1a2e',
75
- primary: '#e0e0e0',
76
- accent: '#e94560',
74
+ background: 'var(--rf-color-primary-700)',
75
+ primary: 'var(--rf-color-primary-50)',
76
+ accent: 'var(--rf-color-danger)',
77
77
  },
78
78
  },
79
79
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE;IACxD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACjB;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,0BAA0B;aAClC;SACD;QACD,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACjB;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,0BAA0B;aAClC;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACjB;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACjB;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;aACjB;SACD;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,EAAE,4SAA4S;YAClT,OAAO,EAAE,iXAAiX;YAC1X,OAAO,EAAE,uSAAuS;YAChT,KAAK,EAAE,qRAAqR;SAC5R;QACD,MAAM,EAAE,WAAW;KACnB;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE;IACxD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,oBAAoB;gBAChC,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,oBAAoB;gBAChC,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,gCAAgC;gBAC5C,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,6BAA6B;aACrC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,6BAA6B;gBACzC,OAAO,EAAE,6BAA6B;gBACtC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,6BAA6B;aACrC;SACD;QACD,IAAI,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACL,UAAU,EAAE,6BAA6B;gBACzC,OAAO,EAAE,4BAA4B;gBACrC,MAAM,EAAE,wBAAwB;aAChC;SACD;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,EAAE,4SAA4S;YAClT,OAAO,EAAE,iXAAiX;YAC1X,OAAO,EAAE,uSAAuS;YAChT,KAAK,EAAE,qRAAqR;SAC5R;QACD,MAAM,EAAE,WAAW;KACnB;CACD,CAAC,CAAC"}
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.9.2",
4
+ "version": "0.9.3",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -43,9 +43,9 @@
43
43
  "build": "tsc"
44
44
  },
45
45
  "dependencies": {
46
- "@refrakt-md/runes": "0.9.2",
47
- "@refrakt-md/transform": "0.9.2",
48
- "@refrakt-md/types": "0.9.2"
46
+ "@refrakt-md/runes": "0.9.3",
47
+ "@refrakt-md/transform": "0.9.3",
48
+ "@refrakt-md/types": "0.9.3"
49
49
  },
50
50
  "devDependencies": {
51
51
  "postcss": "^8.4.0"
@@ -49,3 +49,25 @@
49
49
  [data-density="minimal"] [data-meta-rank="secondary"] {
50
50
  display: none;
51
51
  }
52
+
53
+ /* ─── Nested density scoping ─────────────────────────────────────── *
54
+ * Density rules use descendant selectors that leak into nested runes
55
+ * with their own density. These resets ensure each rune's density is
56
+ * self-contained — e.g. a full-density recipe inside a compact-density
57
+ * preview should not have its description truncated.
58
+ * ──────────────────────────────────────────────────────────────────── */
59
+
60
+ [data-density="compact"] [data-density="full"] [data-section="description"] {
61
+ display: block;
62
+ -webkit-line-clamp: unset;
63
+ -webkit-box-orient: initial;
64
+ overflow: visible;
65
+ }
66
+
67
+ [data-density="compact"] [data-density="full"] [data-meta-rank="secondary"],
68
+ [data-density="minimal"] [data-density="full"] [data-section="description"],
69
+ [data-density="minimal"] [data-density="full"] [data-section="body"],
70
+ [data-density="minimal"] [data-density="full"] [data-section="footer"],
71
+ [data-density="minimal"] [data-density="full"] [data-meta-rank="secondary"] {
72
+ display: revert;
73
+ }
@@ -9,13 +9,9 @@
9
9
 
10
10
  /* ─── Rank ─────────────────────────────────────────────────────────── */
11
11
 
12
- [data-meta-rank="primary"] {
13
- --meta-font-size: 0.8125rem;
14
- }
15
-
12
+ [data-meta-rank="primary"],
16
13
  [data-meta-rank="secondary"] {
17
- --meta-font-size: 0.75rem;
18
- opacity: 0.8;
14
+ --meta-font-size: 0.8125rem;
19
15
  }
20
16
 
21
17
  /* ─── Sentiment ────────────────────────────────────────────────────── */
@@ -36,7 +36,7 @@
36
36
 
37
37
  /* Scale title with density */
38
38
  [data-density="compact"] [data-section="title"] {
39
- font-size: 2.125rem;
39
+ font-size: 1.25rem;
40
40
  }
41
41
 
42
42
  [data-density="minimal"] [data-section="title"] {
@@ -31,11 +31,14 @@
31
31
  .rf-swatch,
32
32
  .rf-palette,
33
33
  .rf-typography,
34
+ .rf-spacing,
35
+ .rf-design-context,
34
36
  .rf-itinerary,
35
37
  .rf-symbol,
36
38
  .rf-changelog,
37
39
  .rf-api,
38
- .rf-howto {
40
+ .rf-howto,
41
+ .rf-form {
39
42
  background: var(--rf-color-surface);
40
43
  border-radius: var(--rf-radius-md);
41
44
  padding: var(--rune-padding, var(--rf-spacing-md));
@@ -49,14 +52,12 @@
49
52
  .rf-conversation,
50
53
  .rf-annotate,
51
54
  .rf-xref,
52
- .rf-diff,
53
55
  .rf-pullquote,
54
56
  .rf-textblock,
55
57
  .rf-nav,
56
58
  .rf-breadcrumb,
57
59
  .rf-toc,
58
- .rf-datatable,
59
- .rf-form {
60
+ .rf-datatable {
60
61
  padding: var(--rune-padding, var(--rf-spacing-sm)) 0;
61
62
  }
62
63
 
@@ -3,7 +3,7 @@ blockquote {
3
3
  position: relative;
4
4
  border-left: 3px solid var(--rf-color-primary);
5
5
  margin: 1.5rem 0;
6
- padding: 1rem 1.25rem 1rem 2.75rem;
6
+ padding: 1rem 1.25rem 1rem 3.25rem;
7
7
  color: var(--rf-color-muted);
8
8
  background: var(--rf-color-surface);
9
9
  border-radius: 0 var(--rf-radius-md) var(--rf-radius-md) 0;
@@ -1,3 +1,14 @@
1
+ /* Standalone code blocks in prose — the rf-codeblock wrapper (from Pre element
2
+ override) zeros the inner pre margin, so the wrapper itself carries spacing.
3
+ Inside codegroup the margin is removed by .rf-codegroup .rf-codeblock. */
4
+ .rf-codeblock {
5
+ margin: 1.5rem 0;
6
+ }
7
+
8
+ .rf-codeblock > pre {
9
+ margin: 0;
10
+ }
11
+
1
12
  /* Code wrapper — behavior-injected copy button for code blocks */
2
13
  .rf-code-wrapper {
3
14
  position: relative;
@@ -3,23 +3,29 @@
3
3
  overflow-x: auto;
4
4
  -webkit-overflow-scrolling: touch;
5
5
  margin: 1.5rem 0;
6
- border: 1px solid var(--rf-color-border);
7
- border-radius: var(--rf-radius-md);
8
6
  }
9
7
  .rf-table-wrapper table {
10
8
  margin: 0;
11
9
  border-collapse: collapse;
12
10
  width: 100%;
13
- min-width: 100%;
14
11
  }
15
12
  .rf-table-wrapper th {
16
- background: var(--rf-color-surface);
13
+ white-space: nowrap;
17
14
  }
18
- .rf-table-wrapper th:first-child {
19
- border-top-left-radius: var(--rf-radius-md);
15
+ .rf-table-wrapper td {
16
+ white-space: nowrap;
20
17
  }
21
- .rf-table-wrapper th:last-child {
22
- border-top-right-radius: var(--rf-radius-md);
18
+ .rf-table-wrapper td:last-child {
19
+ white-space: normal;
20
+ min-width: 20rem;
21
+ }
22
+ .rf-table-wrapper th:first-child,
23
+ .rf-table-wrapper td:first-child {
24
+ padding-left: 0;
25
+ }
26
+ .rf-table-wrapper th:last-child,
27
+ .rf-table-wrapper td:last-child {
28
+ padding-right: 0;
23
29
  }
24
30
  .rf-table-wrapper tr:last-child td {
25
31
  border-bottom: none;
package/styles/global.css CHANGED
@@ -113,7 +113,7 @@ th {
113
113
  text-align: left;
114
114
  font-weight: 600;
115
115
  padding: 0.625rem 1rem;
116
- border-bottom: 2px solid var(--rf-color-border);
116
+ border-bottom: 1px solid var(--rf-color-border);
117
117
  font-size: 0.8rem;
118
118
  text-transform: uppercase;
119
119
  letter-spacing: 0.04em;
@@ -25,6 +25,13 @@
25
25
  margin: 0;
26
26
  line-height: 1;
27
27
  }
28
+ .rf-header h1, .rf-header h2, .rf-header h3 {
29
+ margin: 0;
30
+ font-size: 1.2rem;
31
+ font-weight: 600;
32
+ letter-spacing: -0.02em;
33
+ line-height: 1;
34
+ }
28
35
  .rf-header a {
29
36
  display: inline-block;
30
37
  color: inherit;
@@ -1,73 +1,30 @@
1
1
  /* Api */
2
- .rf-api {
3
- border: 1px solid var(--rf-color-border);
4
- border-radius: var(--rf-radius-lg);
5
- overflow: hidden;
6
- }
7
2
  .rf-api__header {
8
- padding: 1rem 1.25rem;
9
- background: var(--rf-color-surface-hover);
10
- border-bottom: 1px solid var(--rf-color-border);
3
+ padding: 0.5rem 0;
11
4
  }
12
5
  .rf-api__method {
13
- font-weight: 700;
14
- font-size: 0.75rem;
15
- padding: 0.25rem 0.5rem;
16
- border-radius: var(--rf-radius-sm);
17
6
  font-family: var(--rf-font-mono);
18
7
  }
19
8
  .rf-api__path {
20
- font-family: var(--rf-font-mono);
21
- font-size: 0.9375rem;
22
- font-weight: 500;
23
- color: var(--rf-color-text);
9
+ background: none;
24
10
  }
25
11
  .rf-api__auth {
26
12
  margin-left: auto;
27
- font-size: 0.75rem;
28
- color: var(--rf-color-muted);
29
- background: var(--rf-color-surface-active);
30
- padding: 0.125rem 0.5rem;
31
- border-radius: var(--rf-radius-sm);
32
13
  }
33
- /* Method colors driven by data-method attribute from engine */
34
- [data-method="GET"] .rf-api__method { color: var(--rf-color-success); background: var(--rf-color-success-bg); }
35
- [data-method="POST"] .rf-api__method { color: var(--rf-color-info); background: var(--rf-color-info-bg); }
36
- [data-method="PUT"] .rf-api__method { color: var(--rf-color-warning); background: var(--rf-color-warning-bg); }
37
- [data-method="PATCH"] .rf-api__method { color: var(--rf-color-warning); background: var(--rf-color-warning-bg); }
38
- [data-method="DELETE"] .rf-api__method { color: var(--rf-color-danger); background: var(--rf-color-danger-bg); }
39
- [data-method="HEAD"] .rf-api__method { color: var(--rf-color-muted); background: var(--rf-color-surface); }
40
- [data-method="OPTIONS"] .rf-api__method { color: var(--rf-color-muted); background: var(--rf-color-surface); }
41
14
  .rf-api__body {
42
- padding: 1.25rem;
43
- }
44
- .rf-api__body table {
45
- width: 100%;
46
- border-collapse: collapse;
47
- margin: 1rem 0;
48
- }
49
- .rf-api__body th {
50
- text-align: left;
51
- padding: 0.5rem 0.75rem;
52
- font-size: 0.75rem;
53
- font-weight: 600;
54
- text-transform: uppercase;
55
- color: var(--rf-color-muted);
56
- border-bottom: 2px solid var(--rf-color-border);
57
- }
58
- .rf-api__body td {
59
- padding: 0.5rem 0.75rem;
60
- border-bottom: 1px solid var(--rf-color-border);
61
- font-size: 0.875rem;
15
+ padding: 0;
62
16
  }
63
17
  .rf-api__body pre {
64
18
  border-radius: var(--rf-radius-md);
65
19
  margin: 1rem 0;
66
20
  }
67
21
  .rf-api__body blockquote {
68
- border-left: 3px solid var(--rf-color-warning-border);
69
- background: var(--rf-color-warning-bg);
70
- padding: 0.75rem 1rem;
71
- border-radius: 0 var(--rf-radius-md) var(--rf-radius-md) 0;
72
- margin: 1rem 0;
22
+ border-left: 3px solid var(--rf-color-border);
23
+ padding: 0.5rem 1rem;
24
+ margin: 0.75rem 0;
25
+ border-radius: 0 var(--rf-radius-sm) var(--rf-radius-sm) 0;
26
+ font-size: 0.9375rem;
27
+ }
28
+ .rf-api__body blockquote::before {
29
+ content: none;
73
30
  }
@@ -1,9 +1,9 @@
1
1
  /* Bond */
2
2
  .rf-bond {
3
3
  display: flex;
4
+ flex-wrap: wrap;
4
5
  align-items: center;
5
- gap: 1rem;
6
- margin: 1rem 0;
6
+ gap: 0.75rem;
7
7
  }
8
8
  .rf-bond > span[property="from"],
9
9
  .rf-bond > span[property="to"] {
@@ -43,7 +43,7 @@
43
43
  border-right: 6px solid var(--rf-color-border);
44
44
  }
45
45
  .rf-bond__body {
46
- flex: 1;
46
+ width: 100%;
47
47
  font-size: 0.875rem;
48
48
  color: var(--rf-color-muted);
49
49
  }
@@ -1,15 +1,29 @@
1
1
  /* Budget */
2
- .rf-budget__header {
2
+ .rf-budget__meta {
3
3
  display: flex;
4
- flex-direction: column;
5
- align-items: flex-start;
4
+ flex-wrap: wrap;
5
+ align-items: center;
6
+ gap: 0.5rem;
7
+ }
8
+ .rf-budget__preamble {
6
9
  margin-bottom: 1.5rem;
7
10
  }
8
- .rf-budget__title {
9
- margin: 0 0 0.5rem;
10
- font-size: 1.25rem;
11
- font-weight: 700;
12
- color: var(--rf-color-text);
11
+ .rf-budget .rf-budget__eyebrow {
12
+ font-size: 0.8rem;
13
+ font-weight: 600;
14
+ letter-spacing: 0.06em;
15
+ text-transform: uppercase;
16
+ color: var(--rf-color-primary);
17
+ margin: 0 0 0.375rem;
18
+ }
19
+ .rf-budget__headline {
20
+ margin-top: 0;
21
+ margin-bottom: 0.25rem;
22
+ }
23
+ .rf-budget .rf-budget__blurb {
24
+ color: var(--rf-color-muted);
25
+ margin-bottom: 0;
26
+ max-width: 40rem;
13
27
  }
14
28
 
15
29
  /* Categories */
@@ -2,6 +2,7 @@
2
2
  .rf-chart {
3
3
  border-radius: var(--rf-radius-lg);
4
4
  padding: 1.5rem;
5
+ margin: 0;
5
6
  }
6
7
  .rf-chart__title {
7
8
  font-weight: 600;
@@ -25,10 +25,11 @@
25
25
  .rf-codegroup__dot:nth-child(1) { background: #ef4444; }
26
26
  .rf-codegroup__dot:nth-child(2) { background: #f59e0b; }
27
27
  .rf-codegroup__dot:nth-child(3) { background: #22c55e; }
28
- .rf-codegroup__title {
28
+ .rf-codegroup__title[data-section="title"] {
29
29
  margin-left: 0.5rem;
30
30
  font-family: var(--rf-font-mono);
31
31
  font-size: 0.8rem;
32
+ font-weight: normal;
32
33
  opacity: 0.7;
33
34
  }
34
35
  .rf-codegroup ul {
@@ -48,7 +49,7 @@
48
49
  padding: 0.5rem 1rem;
49
50
  font-size: 0.8rem;
50
51
  font-family: var(--rf-font-mono);
51
- color: rgba(255, 255, 255, 0.5);
52
+ color: rgba(255, 255, 255, 0.7);
52
53
  background: none;
53
54
  border: none;
54
55
  border-bottom: 2px solid transparent;
@@ -56,12 +57,20 @@
56
57
  transition: color 200ms ease, border-color 200ms ease;
57
58
  white-space: nowrap;
58
59
  }
59
- .rf-codegroup__tab:hover {
60
+ .rf-codegroup__tab:hover,
61
+ .rf-codegroup button[data-state="inactive"]:hover {
60
62
  color: rgba(255, 255, 255, 0.8);
61
63
  }
62
- .rf-codegroup__tab--active {
64
+ .rf-codegroup__tab--active,
65
+ .rf-codegroup button[data-state="active"] {
63
66
  color: rgba(255, 255, 255, 0.95);
64
- border-bottom-color: var(--rf-color-primary);
67
+ border-bottom-color: var(--rf-color-code-text);
68
+ }
69
+ .rf-codegroup button[data-state="inactive"] {
70
+ color: rgba(255, 255, 255, 0.7);
71
+ }
72
+ .rf-codegroup .rf-codeblock {
73
+ margin: 0;
65
74
  }
66
75
  .rf-codegroup pre {
67
76
  margin: 0;
@@ -1,24 +1,21 @@
1
1
  /* Design Context — unified token card wrapper */
2
- .rf-design-context {
3
- border: 1px solid var(--rf-color-border, #e5e7eb);
4
- border-radius: 0.75rem;
5
- overflow: hidden;
6
- }
7
2
  .rf-design-context__title {
8
- font-size: 1.125rem;
9
- font-weight: 600;
10
- padding: 1rem 1.25rem;
11
- border-bottom: 1px solid var(--rf-color-border, #e5e7eb);
12
- background: var(--rf-color-bg-muted, #f9fafb);
3
+ font-size: 1.25rem;
4
+ font-weight: 700;
5
+ margin-bottom: 1rem;
13
6
  }
14
7
  .rf-design-context__sections {
15
8
  display: flex;
16
9
  flex-direction: column;
10
+ gap: 1.5rem;
17
11
  }
18
- .rf-design-context__sections > * {
19
- padding: 1.25rem;
20
- margin: 0;
21
- }
22
- .rf-design-context__sections > * + * {
23
- border-top: 1px dashed var(--rf-color-border, #e5e7eb);
12
+
13
+ /* Children inside design-context: remove card styling */
14
+ .rf-palette--in-design-context,
15
+ .rf-typography--in-design-context,
16
+ .rf-spacing--in-design-context,
17
+ .rf-swatch--in-design-context {
18
+ background: none;
19
+ border-radius: 0;
20
+ padding: 0;
24
21
  }