@lifeaitools/rdc-skills 0.24.37 → 0.24.39
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/.claude/settings.json +15 -15
- package/.claude-plugin/marketplace.json +21 -21
- package/.claude-plugin/plugin.json +1371 -1371
- package/.github/workflows/publish.yml +34 -34
- package/.github/workflows/self-test.yml +58 -58
- package/CHANGELOG.md +310 -310
- package/LICENSE +21 -21
- package/MANIFEST.md +221 -221
- package/README.md +377 -377
- package/README.sandbox.md +3 -3
- package/assets/watcher/viewer.html +164 -164
- package/bin/rdc-skills-mcp.mjs +316 -316
- package/commands/build.md +183 -183
- package/commands/collab.md +180 -180
- package/commands/deploy.md +152 -152
- package/commands/design.md +31 -31
- package/commands/edit.md +28 -28
- package/commands/fixit.md +124 -124
- package/commands/handoff.md +173 -173
- package/commands/help.md +95 -95
- package/commands/overnight.md +220 -220
- package/commands/plan.md +158 -158
- package/commands/preplan.md +131 -131
- package/commands/prototype.md +145 -145
- package/commands/release.md +49 -49
- package/commands/report.md +99 -99
- package/commands/review.md +120 -120
- package/commands/self-test.md +113 -113
- package/commands/status.md +86 -86
- package/commands/watch.md +98 -98
- package/commands/workitems.md +137 -137
- package/git-sha.json +1 -1
- package/guides/agent-bootstrap.md +295 -295
- package/guides/agents/backend.md +104 -104
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +87 -87
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +92 -92
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +281 -281
- package/guides/agents/verify.md +151 -151
- package/guides/agents/viz.md +106 -106
- package/guides/backend.md +146 -146
- package/guides/content.md +147 -147
- package/guides/cs2.md +190 -190
- package/guides/data.md +123 -123
- package/guides/design.md +116 -116
- package/guides/engineering-behavior.md +43 -43
- package/guides/escalation-protocol.md +125 -125
- package/guides/frontend.md +151 -151
- package/guides/history-md-spec.md +297 -297
- package/guides/infrastructure.md +179 -179
- package/guides/lessons-learned-spec.md +153 -153
- package/guides/output-contract.md +108 -108
- package/guides/publish-md-spec.md +289 -289
- package/guides/rdc-skills-startup.md +30 -30
- package/guides/verify.md +11 -11
- package/hooks/check-cwd.js +31 -31
- package/hooks/check-rdc-environment.js +164 -164
- package/hooks/check-services.js +6 -6
- package/hooks/check-stale-work-items.js +19 -19
- package/hooks/foreground-process-gate.js +128 -128
- package/hooks/gate-watchdog-selfcheck.js +257 -257
- package/hooks/hook-logger.js +25 -25
- package/hooks/lib/run-evidence-gate.mjs +241 -241
- package/hooks/no-stop-open-epics.js +127 -127
- package/hooks/post-tool-batch-gate.js +203 -203
- package/hooks/post-work-check.js +21 -21
- package/hooks/postcompact-log.js +13 -13
- package/hooks/precompact-log.js +13 -13
- package/hooks/rate-limit-retry.js +46 -46
- package/hooks/rdc-invocation-marker.js +157 -157
- package/hooks/rdc-output-contract-gate.js +94 -94
- package/hooks/require-work-item-on-commit.js +294 -294
- package/hooks/restart-brief.js +19 -19
- package/hooks/run-hidden-hook.ps1 +47 -47
- package/hooks/task-completed-gate.js +274 -274
- package/hooks/work-item-exit-gate.js +944 -944
- package/lib/catalog.mjs +236 -236
- package/lib/cloud-rewrite.mjs +155 -155
- package/package.json +56 -56
- package/rules/work-items-rpc.md +520 -520
- package/scaffold/templates/HISTORY.md.template +39 -39
- package/scaffold/templates/PUBLISH.md.template +21 -21
- package/scaffold/templates/brochure-studio-default.html +70 -70
- package/scripts/acceptance.mjs +502 -502
- package/scripts/fixtures/guides/bad-guide.md +15 -15
- package/scripts/fixtures/guides-clean/good-guide.md +16 -16
- package/scripts/install-rdc-skills.js +1289 -1289
- package/scripts/install.ps1 +202 -202
- package/scripts/install.sh +132 -132
- package/scripts/lib/assertions.mjs +287 -287
- package/scripts/lib/manifest-schema.mjs +754 -754
- package/scripts/lib/runner.mjs +465 -465
- package/scripts/lib/sandbox.mjs +435 -435
- package/scripts/prepack.mjs +32 -32
- package/scripts/rdc-brochure.mjs +464 -464
- package/scripts/rdc-design-cli.mjs +134 -134
- package/scripts/rebuild-mcp.mjs +107 -107
- package/scripts/self-test.mjs +1460 -1460
- package/scripts/stamp-git-sha.mjs +29 -29
- package/scripts/test-guide-validator.mjs +196 -196
- package/scripts/test-rdc-hooks.mjs +145 -145
- package/scripts/uninstall.ps1 +77 -77
- package/scripts/uninstall.sh +69 -69
- package/scripts/update.ps1 +43 -43
- package/scripts/update.sh +43 -43
- package/scripts/validate-place-histories.js +461 -461
- package/scripts/validate-publish-manifests.js +424 -424
- package/scripts/watch-init.mjs +100 -100
- package/skills/brochure/SKILL.md +107 -107
- package/skills/build/SKILL.md +563 -554
- package/skills/channel-formatter/SKILL.md +533 -533
- package/skills/co-develop/SKILL.md +196 -196
- package/skills/collab/SKILL.md +239 -239
- package/skills/convert/SKILL.md +140 -140
- package/skills/deploy/SKILL.md +541 -541
- package/skills/design/SKILL.md +211 -211
- package/skills/design/reference/ownership.md +16 -16
- package/skills/design/reference/rampa.md +92 -92
- package/skills/design/reference/studio-model.md +153 -153
- package/skills/edit/SKILL.md +98 -98
- package/skills/fixit/SKILL.md +165 -165
- package/skills/fs-mcp/SKILL.md +148 -148
- package/skills/handoff/SKILL.md +236 -200
- package/skills/help/SKILL.md +143 -143
- package/skills/housekeeping/SKILL.md +189 -189
- package/skills/lifeai-brochure-author/SKILL.md +340 -340
- package/skills/overnight/SKILL.md +251 -251
- package/skills/plan/SKILL.md +345 -314
- package/skills/preplan/SKILL.md +90 -90
- package/skills/prototype/SKILL.md +150 -150
- package/skills/rdc-brochurify/SKILL.md +245 -245
- package/skills/rdc-extract-verifier-rules/SKILL.md +191 -191
- package/skills/release/SKILL.md +140 -140
- package/skills/report/SKILL.md +100 -100
- package/skills/review/SKILL.md +152 -152
- package/skills/rpms-filemap/SKILL.cloud.md +111 -111
- package/skills/rpms-filemap/SKILL.md +111 -111
- package/skills/self-test/SKILL.md +132 -132
- package/skills/status/SKILL.md +99 -99
- package/skills/terminal-config/SKILL.md +62 -62
- package/skills/tests/MATRIX.md +54 -54
- package/skills/tests/README.md +47 -47
- package/skills/tests/rdc-brochure.test.json +34 -34
- package/skills/tests/rdc-build.test.json +36 -36
- package/skills/tests/rdc-channel-formatter.test.json +45 -45
- package/skills/tests/rdc-co-develop.test.json +29 -29
- package/skills/tests/rdc-collab.test.json +29 -29
- package/skills/tests/rdc-convert.test.json +35 -35
- package/skills/tests/rdc-deploy.test.json +30 -30
- package/skills/tests/rdc-design.test.json +27 -27
- package/skills/tests/rdc-edit.test.json +29 -29
- package/skills/tests/rdc-fixit.test.json +36 -36
- package/skills/tests/rdc-fs-mcp.test.json +36 -36
- package/skills/tests/rdc-handoff.test.json +28 -28
- package/skills/tests/rdc-help.test.json +29 -29
- package/skills/tests/rdc-housekeeping.test.json +31 -31
- package/skills/tests/rdc-lifeai-brochure-author.test.json +35 -35
- package/skills/tests/rdc-overnight.test.json +37 -37
- package/skills/tests/rdc-plan.test.json +27 -27
- package/skills/tests/rdc-preplan.test.json +31 -31
- package/skills/tests/rdc-prototype.test.json +28 -28
- package/skills/tests/rdc-rdc-brochurify.test.json +23 -23
- package/skills/tests/rdc-rdc-extract-verifier-rules.test.json +34 -34
- package/skills/tests/rdc-release.test.json +29 -29
- package/skills/tests/rdc-report.test.json +28 -28
- package/skills/tests/rdc-review.test.json +29 -29
- package/skills/tests/rdc-rpms-filemap.test.json +28 -28
- package/skills/tests/rdc-self-test.test.json +24 -24
- package/skills/tests/rdc-status.test.json +29 -29
- package/skills/tests/rdc-terminal-config.test.json +29 -29
- package/skills/tests/rdc-watch.test.json +24 -24
- package/skills/tests/rdc-workitems.test.json +27 -27
- package/skills/watch/SKILL.md +97 -97
- package/skills/workitems/SKILL.md +151 -151
- package/tests/acceptance.test.mjs +59 -59
- package/tests/channel-formatter.contract.test.mjs +251 -251
- package/tests/curl-surface.test.mjs +289 -289
- package/tests/harness-gates.test.mjs +325 -325
- package/tests/help-surface.test.mjs +61 -61
- package/tests/install-rdc-skills.test.mjs +49 -49
- package/tests/manifest-contract-fields.test.mjs +78 -78
- package/tests/mcp.test.mjs +271 -271
- package/tests/require-work-item-on-commit.test.mjs +162 -162
- package/tests/run-evidence-gate.test.mjs +82 -82
- package/tests/skill-test-matrix.test.mjs +66 -66
- package/tests/validate-skills.js +27 -27
- package/tests/work-item-exit-gate-l2.test.mjs +368 -368
- package/tests/work-item-exit-gate-l3.test.mjs +197 -197
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema_version: "1.0"
|
|
3
|
-
prt_slug: "PRT_SLUG"
|
|
4
|
-
project_type: PROJECT_TYPE
|
|
5
|
-
location:
|
|
6
|
-
county: LOCATION_COUNTY
|
|
7
|
-
state: LOCATION_STATE
|
|
8
|
-
country: LOCATION_COUNTRY
|
|
9
|
-
parcel_apn: PARCEL_APN
|
|
10
|
-
area_acres: AREA_ACRES
|
|
11
|
-
centroid: [LAT, LNG]
|
|
12
|
-
acquired: "ACQUIRED_DATE"
|
|
13
|
-
steward: STEWARD_NAME
|
|
14
|
-
research_status: draft
|
|
15
|
-
last_reviewed: "LAST_REVIEWED_DATE"
|
|
16
|
-
contributors: []
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
> This is a draft stub. Research pending. Status will be promoted to in-research once primary sources are identified.
|
|
20
|
-
|
|
21
|
-
## Land lineage
|
|
22
|
-
|
|
23
|
-
TODO: Research land lineage of PROJECT_NAME. Cover indigenous stewardship, land grants, ownership transitions, and government survey references (PLSS township/range/section).
|
|
24
|
-
|
|
25
|
-
## Stewardship transitions
|
|
26
|
-
|
|
27
|
-
TODO: Document major ownership and use transitions for PROJECT_NAME from earliest recorded title to present. Include conservation easements, deed restrictions, and use-change inflection points.
|
|
28
|
-
|
|
29
|
-
## Ecological context
|
|
30
|
-
|
|
31
|
-
TODO: Document the ecoregion, watershed, soil classifications (NRCS Web Soil Survey), vegetation communities, water resources, wildlife corridors, and fire history for PROJECT_NAME.
|
|
32
|
-
|
|
33
|
-
## Cultural significance
|
|
34
|
-
|
|
35
|
-
TODO: Research indigenous place names and cultural associations, historic structures, archaeological sites, community significance (grazing allotments, water rights, access traditions), and scenic values for PROJECT_NAME.
|
|
36
|
-
|
|
37
|
-
## Regulatory record
|
|
38
|
-
|
|
39
|
-
TODO: Document zoning, conservation easements, water rights adjudications, federal and state permits, tax status, and any open title or lien issues of record for PROJECT_NAME.
|
|
1
|
+
---
|
|
2
|
+
schema_version: "1.0"
|
|
3
|
+
prt_slug: "PRT_SLUG"
|
|
4
|
+
project_type: PROJECT_TYPE
|
|
5
|
+
location:
|
|
6
|
+
county: LOCATION_COUNTY
|
|
7
|
+
state: LOCATION_STATE
|
|
8
|
+
country: LOCATION_COUNTRY
|
|
9
|
+
parcel_apn: PARCEL_APN
|
|
10
|
+
area_acres: AREA_ACRES
|
|
11
|
+
centroid: [LAT, LNG]
|
|
12
|
+
acquired: "ACQUIRED_DATE"
|
|
13
|
+
steward: STEWARD_NAME
|
|
14
|
+
research_status: draft
|
|
15
|
+
last_reviewed: "LAST_REVIEWED_DATE"
|
|
16
|
+
contributors: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
> This is a draft stub. Research pending. Status will be promoted to in-research once primary sources are identified.
|
|
20
|
+
|
|
21
|
+
## Land lineage
|
|
22
|
+
|
|
23
|
+
TODO: Research land lineage of PROJECT_NAME. Cover indigenous stewardship, land grants, ownership transitions, and government survey references (PLSS township/range/section).
|
|
24
|
+
|
|
25
|
+
## Stewardship transitions
|
|
26
|
+
|
|
27
|
+
TODO: Document major ownership and use transitions for PROJECT_NAME from earliest recorded title to present. Include conservation easements, deed restrictions, and use-change inflection points.
|
|
28
|
+
|
|
29
|
+
## Ecological context
|
|
30
|
+
|
|
31
|
+
TODO: Document the ecoregion, watershed, soil classifications (NRCS Web Soil Survey), vegetation communities, water resources, wildlife corridors, and fire history for PROJECT_NAME.
|
|
32
|
+
|
|
33
|
+
## Cultural significance
|
|
34
|
+
|
|
35
|
+
TODO: Research indigenous place names and cultural associations, historic structures, archaeological sites, community significance (grazing allotments, water rights, access traditions), and scenic values for PROJECT_NAME.
|
|
36
|
+
|
|
37
|
+
## Regulatory record
|
|
38
|
+
|
|
39
|
+
TODO: Document zoning, conservation easements, water rights adjudications, federal and state permits, tax status, and any open title or lien issues of record for PROJECT_NAME.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema_version: "1.0"
|
|
3
|
-
entity_slug: "ENTITY_SLUG"
|
|
4
|
-
artifact_type: "ARTIFACT_TYPE"
|
|
5
|
-
environments: [dev]
|
|
6
|
-
status: draft
|
|
7
|
-
notes: ""
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# ENTITY_SLUG
|
|
11
|
-
|
|
12
|
-
<!-- SURFACE:website -->
|
|
13
|
-
path: /
|
|
14
|
-
source_dir: SOURCE_DIR
|
|
15
|
-
build_type: BUILD_TYPE
|
|
16
|
-
visibility: public
|
|
17
|
-
cache: no-store
|
|
18
|
-
watch_paths:
|
|
19
|
-
- SOURCE_DIR/**
|
|
20
|
-
- packages/ui/**
|
|
21
|
-
<!-- /SURFACE:website -->
|
|
1
|
+
---
|
|
2
|
+
schema_version: "1.0"
|
|
3
|
+
entity_slug: "ENTITY_SLUG"
|
|
4
|
+
artifact_type: "ARTIFACT_TYPE"
|
|
5
|
+
environments: [dev]
|
|
6
|
+
status: draft
|
|
7
|
+
notes: ""
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# ENTITY_SLUG
|
|
11
|
+
|
|
12
|
+
<!-- SURFACE:website -->
|
|
13
|
+
path: /
|
|
14
|
+
source_dir: SOURCE_DIR
|
|
15
|
+
build_type: BUILD_TYPE
|
|
16
|
+
visibility: public
|
|
17
|
+
cache: no-store
|
|
18
|
+
watch_paths:
|
|
19
|
+
- SOURCE_DIR/**
|
|
20
|
+
- packages/ui/**
|
|
21
|
+
<!-- /SURFACE:website -->
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8"/>
|
|
5
|
-
<title>{{TITLE}}</title>
|
|
6
|
-
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
|
7
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
|
8
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..900;1,8..60,300..900&family=Hanken+Grotesk:ital,wght@0,300..900;1,300..900&display=swap"/>
|
|
9
|
-
<style>
|
|
10
|
-
/* TOKENS_INJECT */
|
|
11
|
-
@page { size: letter; margin: 0.6in 0.7in; }
|
|
12
|
-
:root {
|
|
13
|
-
--loam-800:#2b2218; --loam-700:#3d2f1f; --loam-600:#5c4628;
|
|
14
|
-
--loam-300:#bda079; --loam-200:#d9c4a4; --loam-100:#ece0c8;
|
|
15
|
-
--moss-700:#4f5a37; --ochre-700:#97772c; --ochre-100:#f4e9d4;
|
|
16
|
-
--linen-50:#faf8f5; --linen-100:#f4edde;
|
|
17
|
-
--char-700:#2b2e26; --char-500:#4d5145; --char-400:#6d7164;
|
|
18
|
-
--ff-display:'Source Serif 4', Georgia, serif;
|
|
19
|
-
--ff-sans:'Hanken Grotesk', system-ui, sans-serif;
|
|
20
|
-
}
|
|
21
|
-
* { box-sizing: border-box; }
|
|
22
|
-
html, body { background: white; }
|
|
23
|
-
body {
|
|
24
|
-
margin: 0; font-family: var(--ff-sans); font-size: 10.5pt; line-height: 1.55;
|
|
25
|
-
color: var(--char-700);
|
|
26
|
-
-webkit-print-color-adjust: exact; print-color-adjust: exact;
|
|
27
|
-
}
|
|
28
|
-
h1, h2, h3, h4 { font-family: var(--ff-display); color: var(--loam-800); font-weight: 600; letter-spacing: -0.005em; }
|
|
29
|
-
h1 { font-size: 28pt; line-height: 1.15; margin: 0 0 0.4em; }
|
|
30
|
-
h2 { font-size: 18pt; line-height: 1.2; margin: 1.8em 0 0.4em; padding-bottom: 0.25em; border-bottom: 1px solid var(--loam-200); }
|
|
31
|
-
h3 { font-size: 13pt; margin: 1.4em 0 0.3em; color: var(--loam-700); }
|
|
32
|
-
p { margin: 0 0 0.7em; }
|
|
33
|
-
ul, ol { margin: 0 0 0.8em 1.1em; padding: 0; }
|
|
34
|
-
li { margin: 0.15em 0; }
|
|
35
|
-
code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 9pt; background: var(--linen-100); padding: 0.05em 0.3em; border-radius: 2px; }
|
|
36
|
-
pre { background: var(--linen-100); padding: 0.7em 0.9em; border-radius: 4px; overflow-wrap: anywhere; font-size: 8.5pt; }
|
|
37
|
-
img { max-width: 100%; height: auto; display: block; margin: 0.8em auto; }
|
|
38
|
-
strong { color: var(--loam-800); }
|
|
39
|
-
em { color: var(--char-500); }
|
|
40
|
-
|
|
41
|
-
.cover { page-break-after: always; min-height: 9in; display: flex; flex-direction: column; justify-content: space-between; padding: 0.3in 0; }
|
|
42
|
-
.cover-eyebrow { font-family: var(--ff-sans); font-size: 9pt; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ochre-700); }
|
|
43
|
-
.cover-title { font-family: var(--ff-display); font-size: 44pt; line-height: 1.05; color: var(--loam-800); margin: 0.2em 0 0.4em; }
|
|
44
|
-
.cover-sub { font-family: var(--ff-display); font-style: italic; font-size: 14pt; color: var(--loam-600); max-width: 5.5in; }
|
|
45
|
-
.cover-foot { font-size: 8.5pt; color: var(--char-400); border-top: 1px solid var(--loam-200); padding-top: 0.4em; display: flex; justify-content: space-between; }
|
|
46
|
-
|
|
47
|
-
.brochure-section { page-break-before: always; }
|
|
48
|
-
.brochure-section:first-of-type { page-break-before: auto; }
|
|
49
|
-
|
|
50
|
-
@media screen {
|
|
51
|
-
body { max-width: 7.1in; margin: 0.6in auto; padding: 0 0.7in; }
|
|
52
|
-
}
|
|
53
|
-
</style>
|
|
54
|
-
</head>
|
|
55
|
-
<body>
|
|
56
|
-
<header class="cover">
|
|
57
|
-
<div>
|
|
58
|
-
<div class="cover-eyebrow">Brochure</div>
|
|
59
|
-
<h1 class="cover-title">{{TITLE}}</h1>
|
|
60
|
-
<div class="cover-sub">Composed by rdc:brochure</div>
|
|
61
|
-
</div>
|
|
62
|
-
<div class="cover-foot">
|
|
63
|
-
<span>RDC</span>
|
|
64
|
-
<span>{{TITLE}}</span>
|
|
65
|
-
</div>
|
|
66
|
-
</header>
|
|
67
|
-
|
|
68
|
-
{{SECTIONS}}
|
|
69
|
-
</body>
|
|
70
|
-
</html>
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
<title>{{TITLE}}</title>
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
|
8
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..900;1,8..60,300..900&family=Hanken+Grotesk:ital,wght@0,300..900;1,300..900&display=swap"/>
|
|
9
|
+
<style>
|
|
10
|
+
/* TOKENS_INJECT */
|
|
11
|
+
@page { size: letter; margin: 0.6in 0.7in; }
|
|
12
|
+
:root {
|
|
13
|
+
--loam-800:#2b2218; --loam-700:#3d2f1f; --loam-600:#5c4628;
|
|
14
|
+
--loam-300:#bda079; --loam-200:#d9c4a4; --loam-100:#ece0c8;
|
|
15
|
+
--moss-700:#4f5a37; --ochre-700:#97772c; --ochre-100:#f4e9d4;
|
|
16
|
+
--linen-50:#faf8f5; --linen-100:#f4edde;
|
|
17
|
+
--char-700:#2b2e26; --char-500:#4d5145; --char-400:#6d7164;
|
|
18
|
+
--ff-display:'Source Serif 4', Georgia, serif;
|
|
19
|
+
--ff-sans:'Hanken Grotesk', system-ui, sans-serif;
|
|
20
|
+
}
|
|
21
|
+
* { box-sizing: border-box; }
|
|
22
|
+
html, body { background: white; }
|
|
23
|
+
body {
|
|
24
|
+
margin: 0; font-family: var(--ff-sans); font-size: 10.5pt; line-height: 1.55;
|
|
25
|
+
color: var(--char-700);
|
|
26
|
+
-webkit-print-color-adjust: exact; print-color-adjust: exact;
|
|
27
|
+
}
|
|
28
|
+
h1, h2, h3, h4 { font-family: var(--ff-display); color: var(--loam-800); font-weight: 600; letter-spacing: -0.005em; }
|
|
29
|
+
h1 { font-size: 28pt; line-height: 1.15; margin: 0 0 0.4em; }
|
|
30
|
+
h2 { font-size: 18pt; line-height: 1.2; margin: 1.8em 0 0.4em; padding-bottom: 0.25em; border-bottom: 1px solid var(--loam-200); }
|
|
31
|
+
h3 { font-size: 13pt; margin: 1.4em 0 0.3em; color: var(--loam-700); }
|
|
32
|
+
p { margin: 0 0 0.7em; }
|
|
33
|
+
ul, ol { margin: 0 0 0.8em 1.1em; padding: 0; }
|
|
34
|
+
li { margin: 0.15em 0; }
|
|
35
|
+
code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 9pt; background: var(--linen-100); padding: 0.05em 0.3em; border-radius: 2px; }
|
|
36
|
+
pre { background: var(--linen-100); padding: 0.7em 0.9em; border-radius: 4px; overflow-wrap: anywhere; font-size: 8.5pt; }
|
|
37
|
+
img { max-width: 100%; height: auto; display: block; margin: 0.8em auto; }
|
|
38
|
+
strong { color: var(--loam-800); }
|
|
39
|
+
em { color: var(--char-500); }
|
|
40
|
+
|
|
41
|
+
.cover { page-break-after: always; min-height: 9in; display: flex; flex-direction: column; justify-content: space-between; padding: 0.3in 0; }
|
|
42
|
+
.cover-eyebrow { font-family: var(--ff-sans); font-size: 9pt; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ochre-700); }
|
|
43
|
+
.cover-title { font-family: var(--ff-display); font-size: 44pt; line-height: 1.05; color: var(--loam-800); margin: 0.2em 0 0.4em; }
|
|
44
|
+
.cover-sub { font-family: var(--ff-display); font-style: italic; font-size: 14pt; color: var(--loam-600); max-width: 5.5in; }
|
|
45
|
+
.cover-foot { font-size: 8.5pt; color: var(--char-400); border-top: 1px solid var(--loam-200); padding-top: 0.4em; display: flex; justify-content: space-between; }
|
|
46
|
+
|
|
47
|
+
.brochure-section { page-break-before: always; }
|
|
48
|
+
.brochure-section:first-of-type { page-break-before: auto; }
|
|
49
|
+
|
|
50
|
+
@media screen {
|
|
51
|
+
body { max-width: 7.1in; margin: 0.6in auto; padding: 0 0.7in; }
|
|
52
|
+
}
|
|
53
|
+
</style>
|
|
54
|
+
</head>
|
|
55
|
+
<body>
|
|
56
|
+
<header class="cover">
|
|
57
|
+
<div>
|
|
58
|
+
<div class="cover-eyebrow">Brochure</div>
|
|
59
|
+
<h1 class="cover-title">{{TITLE}}</h1>
|
|
60
|
+
<div class="cover-sub">Composed by rdc:brochure</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="cover-foot">
|
|
63
|
+
<span>RDC</span>
|
|
64
|
+
<span>{{TITLE}}</span>
|
|
65
|
+
</div>
|
|
66
|
+
</header>
|
|
67
|
+
|
|
68
|
+
{{SECTIONS}}
|
|
69
|
+
</body>
|
|
70
|
+
</html>
|