@stylecrib/cli 0.3.1 → 0.3.2
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/README.md +94 -9
- package/agents/MANIFEST.yml +136 -0
- package/agents/README.md +75 -0
- package/agents/art-director.md +168 -0
- package/agents/audacity-director.md +109 -0
- package/agents/brand-identity.md +179 -0
- package/agents/brand-precedent.md +119 -0
- package/agents/brief-enforcer.md +136 -0
- package/agents/component-qa.md +167 -0
- package/agents/cto.md +49 -0
- package/agents/design-director.md +184 -0
- package/agents/design-systems-engineer.md +162 -0
- package/agents/direction-curator.md +133 -0
- package/agents/homogeneity-detector.md +104 -0
- package/agents/logo-designer.md +240 -0
- package/agents/marketing-designer.md +156 -0
- package/agents/media-curator.md +165 -0
- package/agents/motion-engineer.md +270 -0
- package/agents/qa-conductor.md +143 -0
- package/agents/render-qa.md +133 -0
- package/agents/upgrade-simulator.md +123 -0
- package/agents/vp-architecture.md +49 -0
- package/agents/vp-engineering.md +49 -0
- package/dist/index.js +1577 -463
- package/package.json +11 -4
- package/themes/README.md +70 -0
- package/themes/acrylic-soft/THEME.md +142 -0
- package/themes/acrylic-soft/tokens.ts +180 -0
- package/themes/agency-creative/THEME.md +91 -0
- package/themes/agency-creative/tokens.ts +202 -0
- package/themes/agency-portfolio/THEME.md +109 -0
- package/themes/agency-portfolio/tokens.ts +159 -0
- package/themes/ai-startup/THEME.md +95 -0
- package/themes/ai-startup/tokens.ts +162 -0
- package/themes/airline-modern/THEME.md +104 -0
- package/themes/airline-modern/tokens.ts +179 -0
- package/themes/arc-stack/.anchor-render.png +0 -0
- package/themes/arc-stack/THEME.md +125 -0
- package/themes/arc-stack/audit.log.jsonl +6 -0
- package/themes/arc-stack/dismissals.jsonl +3 -0
- package/themes/arc-stack/tailwind.snippet.ts +17 -0
- package/themes/arc-stack/theme.yml +153 -0
- package/themes/arc-stack/tokens.ts +29 -0
- package/themes/architectural/THEME.md +102 -0
- package/themes/architectural/tokens.ts +159 -0
- package/themes/atelier-radiance/THEME.md +93 -0
- package/themes/atelier-radiance/audit.log.jsonl +1 -0
- package/themes/atelier-radiance/tailwind.snippet.ts +15 -0
- package/themes/atelier-radiance/theme.yml +130 -0
- package/themes/atelier-radiance/tokens.ts +29 -0
- package/themes/automotive-ev/THEME.md +87 -0
- package/themes/automotive-ev/tokens.ts +183 -0
- package/themes/automotive-luxury/THEME.md +88 -0
- package/themes/automotive-luxury/tokens.ts +175 -0
- package/themes/baby-modern/THEME.md +79 -0
- package/themes/baby-modern/tokens.ts +184 -0
- package/themes/banking-gravity/THEME.md +171 -0
- package/themes/banking-gravity/tokens.ts +169 -0
- package/themes/beauty-clean/THEME.md +92 -0
- package/themes/beauty-clean/tokens.ts +176 -0
- package/themes/beauty-luxury/THEME.md +96 -0
- package/themes/beauty-luxury/tokens.ts +178 -0
- package/themes/bento-modular/.anchor-render.png +0 -0
- package/themes/bento-modular/BUILD_BRIEF.md +171 -0
- package/themes/bento-modular/THEME.md +80 -0
- package/themes/bento-modular/audit.log.jsonl +3 -0
- package/themes/bento-modular/dismissals.jsonl +1 -0
- package/themes/bento-modular/tailwind.snippet.ts +17 -0
- package/themes/bento-modular/theme.yml +83 -0
- package/themes/bento-modular/tokens.ts +27 -0
- package/themes/bookstore-indie/THEME.md +78 -0
- package/themes/bookstore-indie/tokens.ts +147 -0
- package/themes/brutalist/THEME.md +96 -0
- package/themes/brutalist/tokens.ts +151 -0
- package/themes/business-tiles/THEME.md +141 -0
- package/themes/business-tiles/tokens.ts +178 -0
- package/themes/cabana-poster/THEME.md +158 -0
- package/themes/cabana-poster/audit.log.jsonl +1 -0
- package/themes/cabana-poster/tailwind.snippet.ts +16 -0
- package/themes/cabana-poster/theme.yml +221 -0
- package/themes/cabana-poster/tokens.ts +34 -0
- package/themes/case-panel/THEME.md +126 -0
- package/themes/case-panel/audit.log.jsonl +2 -0
- package/themes/case-panel/tailwind.snippet.ts +15 -0
- package/themes/case-panel/theme.yml +153 -0
- package/themes/case-panel/tokens.ts +28 -0
- package/themes/cinematic-dark/THEME.md +97 -0
- package/themes/cinematic-dark/tokens.ts +195 -0
- package/themes/classic-car/THEME.md +86 -0
- package/themes/classic-car/tokens.ts +173 -0
- package/themes/cloud-friendly/THEME.md +152 -0
- package/themes/cloud-friendly/tokens.ts +181 -0
- package/themes/community-niche/THEME.md +102 -0
- package/themes/community-niche/tokens.ts +177 -0
- package/themes/corporate-grid/THEME.md +154 -0
- package/themes/corporate-grid/tokens.ts +182 -0
- package/themes/couture-luxury/THEME.md +85 -0
- package/themes/couture-luxury/tokens.ts +146 -0
- package/themes/creator-social/THEME.md +131 -0
- package/themes/creator-social/tokens.ts +249 -0
- package/themes/crypto-onchain/THEME.md +100 -0
- package/themes/crypto-onchain/tokens.ts +207 -0
- package/themes/cycling-brand/THEME.md +78 -0
- package/themes/cycling-brand/tokens.ts +185 -0
- package/themes/dating-friendly/THEME.md +102 -0
- package/themes/dating-friendly/tokens.ts +178 -0
- package/themes/dense-utility/THEME.md +85 -0
- package/themes/dense-utility/tokens.ts +155 -0
- package/themes/devtool-cli/THEME.md +100 -0
- package/themes/devtool-cli/tokens.ts +195 -0
- package/themes/devtool-docs/THEME.md +105 -0
- package/themes/devtool-docs/tokens.ts +177 -0
- package/themes/editorial/THEME.md +129 -0
- package/themes/editorial/audit.log.jsonl +2 -0
- package/themes/editorial/tailwind.snippet.ts +15 -0
- package/themes/editorial/theme.yml +173 -0
- package/themes/editorial/tokens.ts +29 -0
- package/themes/education-formal/THEME.md +154 -0
- package/themes/education-formal/audit.log.jsonl +1 -0
- package/themes/education-formal/tailwind.snippet.ts +15 -0
- package/themes/education-formal/theme.yml +186 -0
- package/themes/education-formal/tokens.ts +29 -0
- package/themes/education-warm/THEME.md +91 -0
- package/themes/education-warm/tokens.ts +185 -0
- package/themes/ember-poster/README.md +79 -0
- package/themes/ember-poster/THEME.md +101 -0
- package/themes/ember-poster/audit.log.jsonl +17 -0
- package/themes/ember-poster/package.json +34 -0
- package/themes/ember-poster/tailwind.snippet.ts +17 -0
- package/themes/ember-poster/theme.yml +109 -0
- package/themes/ember-poster/tokens.ts +27 -0
- package/themes/enterprise-cloud/THEME.md +139 -0
- package/themes/enterprise-cloud/tokens.ts +179 -0
- package/themes/enterprise-tech/.anchor-render.png +0 -0
- package/themes/enterprise-tech/THEME.md +167 -0
- package/themes/enterprise-tech/audit.log.jsonl +1 -0
- package/themes/enterprise-tech/tailwind.snippet.ts +15 -0
- package/themes/enterprise-tech/theme.yml +202 -0
- package/themes/enterprise-tech/tokens.ts +29 -0
- package/themes/ev-charging/THEME.md +94 -0
- package/themes/ev-charging/tokens.ts +185 -0
- package/themes/farm-direct/THEME.md +92 -0
- package/themes/farm-direct/tokens.ts +180 -0
- package/themes/fintech-card/THEME.md +96 -0
- package/themes/fintech-card/tokens.ts +191 -0
- package/themes/fintech-trust/THEME.md +94 -0
- package/themes/fintech-trust/tokens.ts +192 -0
- package/themes/food-blog/THEME.md +98 -0
- package/themes/food-blog/tokens.ts +183 -0
- package/themes/forum-classic/THEME.md +100 -0
- package/themes/forum-classic/tokens.ts +168 -0
- package/themes/fresh-plate/.anchor-render.png +0 -0
- package/themes/fresh-plate/THEME.md +144 -0
- package/themes/fresh-plate/audit.log.jsonl +2 -0
- package/themes/fresh-plate/dismissals.jsonl +3 -0
- package/themes/fresh-plate/tailwind.snippet.ts +16 -0
- package/themes/fresh-plate/theme.yml +189 -0
- package/themes/fresh-plate/tokens.ts +30 -0
- package/themes/furniture-modern/THEME.md +94 -0
- package/themes/furniture-modern/tokens.ts +176 -0
- package/themes/gaming-esports/THEME.md +146 -0
- package/themes/gaming-esports/tokens.ts +199 -0
- package/themes/gaming-streamer/THEME.md +139 -0
- package/themes/gaming-streamer/tokens.ts +201 -0
- package/themes/glassmorphic-modern/THEME.md +119 -0
- package/themes/glassmorphic-modern/tokens.ts +174 -0
- package/themes/government-civic/THEME.md +138 -0
- package/themes/government-civic/tokens.ts +164 -0
- package/themes/gym-chain/THEME.md +79 -0
- package/themes/gym-chain/tokens.ts +196 -0
- package/themes/healthcare-bright/THEME.md +95 -0
- package/themes/healthcare-bright/tokens.ts +184 -0
- package/themes/home-decor/THEME.md +94 -0
- package/themes/home-decor/tokens.ts +177 -0
- package/themes/hotel-boutique/THEME.md +110 -0
- package/themes/hotel-boutique/tokens.ts +179 -0
- package/themes/hyperminimal-mono/THEME.md +91 -0
- package/themes/hyperminimal-mono/tokens.ts +150 -0
- package/themes/indie-art-game/THEME.md +107 -0
- package/themes/indie-art-game/tokens.ts +216 -0
- package/themes/insurance-legacy/THEME.md +101 -0
- package/themes/insurance-legacy/tokens.ts +182 -0
- package/themes/insurance-modern/THEME.md +103 -0
- package/themes/insurance-modern/tokens.ts +192 -0
- package/themes/kaiju-reveal/THEME.md +97 -0
- package/themes/kaiju-reveal/tokens.ts +185 -0
- package/themes/kinetic-data/THEME.md +172 -0
- package/themes/kinetic-data/audit.log.jsonl +1 -0
- package/themes/kinetic-data/tailwind.snippet.ts +16 -0
- package/themes/kinetic-data/theme.yml +207 -0
- package/themes/kinetic-data/tokens.ts +30 -0
- package/themes/kinetic-headline/.anchor-render.png +0 -0
- package/themes/kinetic-headline/BUILD_BRIEF.md +156 -0
- package/themes/kinetic-headline/THEME.md +78 -0
- package/themes/kinetic-headline/audit.log.jsonl +4 -0
- package/themes/kinetic-headline/dismissals.jsonl +1 -0
- package/themes/kinetic-headline/tailwind.snippet.ts +16 -0
- package/themes/kinetic-headline/theme.yml +81 -0
- package/themes/kinetic-headline/tokens.ts +26 -0
- package/themes/law-firm/THEME.md +108 -0
- package/themes/law-firm/tokens.ts +158 -0
- package/themes/lawtech-modern/THEME.md +107 -0
- package/themes/lawtech-modern/tokens.ts +192 -0
- package/themes/linkedin-pro/THEME.md +102 -0
- package/themes/linkedin-pro/tokens.ts +174 -0
- package/themes/logistics-modern/THEME.md +94 -0
- package/themes/logistics-modern/tokens.ts +187 -0
- package/themes/magazine-glossy/THEME.md +74 -0
- package/themes/magazine-glossy/tokens.ts +158 -0
- package/themes/marker-mag/THEME.md +128 -0
- package/themes/marker-mag/audit.log.jsonl +1 -0
- package/themes/marker-mag/tailwind.snippet.ts +15 -0
- package/themes/marker-mag/theme.yml +159 -0
- package/themes/marker-mag/tokens.ts +27 -0
- package/themes/marketplace-modern/THEME.md +135 -0
- package/themes/marketplace-modern/tokens.ts +186 -0
- package/themes/marketplace-vintage/THEME.md +110 -0
- package/themes/marketplace-vintage/tokens.ts +185 -0
- package/themes/maximalist/THEME.md +96 -0
- package/themes/maximalist/tokens.ts +168 -0
- package/themes/mid-century/THEME.md +109 -0
- package/themes/mid-century/tokens.ts +162 -0
- package/themes/motorcycle-brand/THEME.md +86 -0
- package/themes/motorcycle-brand/tokens.ts +174 -0
- package/themes/museum/THEME.md +83 -0
- package/themes/museum/tokens.ts +147 -0
- package/themes/music-streaming/THEME.md +101 -0
- package/themes/music-streaming/tokens.ts +187 -0
- package/themes/music-vinyl/THEME.md +98 -0
- package/themes/music-vinyl/tokens.ts +167 -0
- package/themes/nature-distilled/.anchor-render.png +0 -0
- package/themes/nature-distilled/BUILD_BRIEF.md +158 -0
- package/themes/nature-distilled/THEME.md +81 -0
- package/themes/nature-distilled/audit.log.jsonl +2 -0
- package/themes/nature-distilled/tailwind.snippet.ts +16 -0
- package/themes/nature-distilled/theme.yml +91 -0
- package/themes/nature-distilled/tokens.ts +26 -0
- package/themes/news-tabloid/THEME.md +72 -0
- package/themes/news-tabloid/tokens.ts +158 -0
- package/themes/news-tech/THEME.md +75 -0
- package/themes/news-tech/tokens.ts +149 -0
- package/themes/newsletter/THEME.md +82 -0
- package/themes/newsletter/tokens.ts +138 -0
- package/themes/newspaper-classic/THEME.md +74 -0
- package/themes/newspaper-classic/tokens.ts +159 -0
- package/themes/nonprofit-arts/THEME.md +78 -0
- package/themes/nonprofit-arts/tokens.ts +157 -0
- package/themes/nonprofit-warm/THEME.md +105 -0
- package/themes/nonprofit-warm/tokens.ts +188 -0
- package/themes/outdoor-adventure/THEME.md +113 -0
- package/themes/outdoor-adventure/tokens.ts +181 -0
- package/themes/overland-broadside/THEME.md +119 -0
- package/themes/overland-broadside/audit.log.jsonl +1 -0
- package/themes/overland-broadside/tailwind.snippet.ts +17 -0
- package/themes/overland-broadside/theme.yml +138 -0
- package/themes/overland-broadside/tokens.ts +27 -0
- package/themes/performance-engineered/THEME.md +162 -0
- package/themes/performance-engineered/audit.log.jsonl +1 -0
- package/themes/performance-engineered/tailwind.snippet.ts +15 -0
- package/themes/performance-engineered/theme.yml +193 -0
- package/themes/performance-engineered/tokens.ts +29 -0
- package/themes/pet-food/THEME.md +78 -0
- package/themes/pet-food/tokens.ts +185 -0
- package/themes/pharma-clinical/THEME.md +164 -0
- package/themes/pharma-clinical/audit.log.jsonl +1 -0
- package/themes/pharma-clinical/tailwind.snippet.ts +15 -0
- package/themes/pharma-clinical/theme.yml +201 -0
- package/themes/pharma-clinical/tokens.ts +29 -0
- package/themes/pill-editorial/THEME.md +125 -0
- package/themes/pill-editorial/audit.log.jsonl +1 -0
- package/themes/pill-editorial/tailwind.snippet.ts +15 -0
- package/themes/pill-editorial/theme.yml +168 -0
- package/themes/pill-editorial/tokens.ts +31 -0
- package/themes/podcast-warm/THEME.md +103 -0
- package/themes/podcast-warm/tokens.ts +192 -0
- package/themes/publisher-indie/THEME.md +78 -0
- package/themes/publisher-indie/tokens.ts +148 -0
- package/themes/raw-concrete/BUILD_BRIEF.md +157 -0
- package/themes/raw-concrete/THEME.md +76 -0
- package/themes/raw-concrete/audit.log.jsonl +10 -0
- package/themes/raw-concrete/tailwind.snippet.ts +16 -0
- package/themes/raw-concrete/theme.yml +88 -0
- package/themes/raw-concrete/tokens.ts +27 -0
- package/themes/realestate-luxury/THEME.md +94 -0
- package/themes/realestate-luxury/tokens.ts +169 -0
- package/themes/realestate-marketplace/THEME.md +106 -0
- package/themes/realestate-marketplace/tokens.ts +183 -0
- package/themes/restaurant-modern/THEME.md +109 -0
- package/themes/restaurant-modern/tokens.ts +172 -0
- package/themes/runway-fashion/THEME.md +99 -0
- package/themes/runway-fashion/tokens.ts +167 -0
- package/themes/saturday-morning/THEME.md +117 -0
- package/themes/saturday-morning/tokens.ts +281 -0
- package/themes/schema.ts +235 -0
- package/themes/signal-dark/BUILD_BRIEF.md +168 -0
- package/themes/signal-dark/THEME.md +107 -0
- package/themes/signal-dark/tokens.ts +181 -0
- package/themes/soft-modern/THEME.md +91 -0
- package/themes/soft-modern/tokens.ts +166 -0
- package/themes/solar-residential/THEME.md +92 -0
- package/themes/solar-residential/tokens.ts +176 -0
- package/themes/sports-league/THEME.md +180 -0
- package/themes/sports-league/audit.log.jsonl +1 -0
- package/themes/sports-league/tailwind.snippet.ts +15 -0
- package/themes/sports-league/theme.yml +213 -0
- package/themes/sports-league/tokens.ts +32 -0
- package/themes/stadium-sport/THEME.md +114 -0
- package/themes/stadium-sport/tokens.ts +187 -0
- package/themes/streetwear-hype/THEME.md +100 -0
- package/themes/streetwear-hype/tokens.ts +174 -0
- package/themes/studio-architect/THEME.md +108 -0
- package/themes/studio-architect/tokens.ts +162 -0
- package/themes/studio-photographer/THEME.md +88 -0
- package/themes/studio-photographer/tokens.ts +164 -0
- package/themes/team-kanban/.anchor-render.png +0 -0
- package/themes/team-kanban/THEME.md +167 -0
- package/themes/team-kanban/audit.log.jsonl +2 -0
- package/themes/team-kanban/dismissals.jsonl +1 -0
- package/themes/team-kanban/tailwind.snippet.ts +15 -0
- package/themes/team-kanban/theme.yml +209 -0
- package/themes/team-kanban/tokens.ts +35 -0
- package/themes/telehealth-modern/THEME.md +95 -0
- package/themes/telehealth-modern/tokens.ts +197 -0
- package/themes/tourism-board/THEME.md +111 -0
- package/themes/tourism-board/tokens.ts +173 -0
- package/themes/toys-modern/THEME.md +79 -0
- package/themes/toys-modern/tokens.ts +200 -0
- package/themes/travel-luxury/THEME.md +95 -0
- package/themes/travel-luxury/tokens.ts +162 -0
- package/themes/vacation-rental/THEME.md +105 -0
- package/themes/vacation-rental/tokens.ts +174 -0
- package/themes/vault-reel/THEME.md +134 -0
- package/themes/vault-reel/audit.log.jsonl +3 -0
- package/themes/vault-reel/tailwind.snippet.ts +16 -0
- package/themes/vault-reel/theme.yml +167 -0
- package/themes/vault-reel/tokens.ts +30 -0
- package/themes/vet-modern/THEME.md +79 -0
- package/themes/vet-modern/tokens.ts +194 -0
- package/themes/web3-restraint/THEME.md +87 -0
- package/themes/web3-restraint/tokens.ts +154 -0
- package/themes/wellness-active/THEME.md +102 -0
- package/themes/wellness-active/tokens.ts +203 -0
- package/themes/wellness-spa/THEME.md +93 -0
- package/themes/wellness-spa/tokens.ts +173 -0
- package/themes/y2k-chrome/THEME.md +118 -0
- package/themes/y2k-chrome/tokens.ts +249 -0
- package/themes/yoga-studio/THEME.md +76 -0
- package/themes/yoga-studio/tokens.ts +163 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Pharma Clinical — Family C, Editorial & Print (corporate-editorial subregion).
|
|
2
|
+
#
|
|
3
|
+
# Warm-professional pharmaceutical register. Cream canvas at #f7f3e8 with
|
|
4
|
+
# cold near-black ink (#1a1a1a) and ONE burgundy accent (#6b1a1a) used
|
|
5
|
+
# for phase-indicator chips, hover states, and pull-quote marks. Sharp
|
|
6
|
+
# corners everywhere. Display type in a Bodoni-family serif (Bodoni
|
|
7
|
+
# Moda / Playfair fallback); body copy in Inter Tight. Editorial-quality
|
|
8
|
+
# patient photography, numbered pipeline stages, and scientific
|
|
9
|
+
# illustrations of molecules do the visual work.
|
|
10
|
+
#
|
|
11
|
+
# Influence anchor (per Matt's pick): Genentech — big-pharma polish at
|
|
12
|
+
# its most trust-forward. Placeholder brand: "WATERSHED" — a fictional
|
|
13
|
+
# biopharmaceutical imprint. Original name, original copy, no
|
|
14
|
+
# reproductions of any reference.
|
|
15
|
+
#
|
|
16
|
+
# Distinct from other Family C bases:
|
|
17
|
+
# - Ember Poster is warm-dark editorial serif with hand-drawn ornaments
|
|
18
|
+
# - Case Panel is agency portfolio bento
|
|
19
|
+
# - Marker Mag is punk zine chaos
|
|
20
|
+
# - Pill Editorial is 999px cultural editorial
|
|
21
|
+
# - Cabana Poster is vintage travel-poster warmth
|
|
22
|
+
# - Editorial (v2) is Aperture photography-first quarterly
|
|
23
|
+
# Pharma Clinical fills the CORPORATE-EDITORIAL PHARMA slot — warm
|
|
24
|
+
# publication register applied to trust-first pharma / biotech / clinical
|
|
25
|
+
# / research-org communication.
|
|
26
|
+
#
|
|
27
|
+
# Sixteenth theme via the v2 harness. Seventh Family C theme. Upgrade
|
|
28
|
+
# of the existing v1 archetype-fallback slug, not a new-base candidate.
|
|
29
|
+
|
|
30
|
+
name: Pharma Clinical
|
|
31
|
+
concept: Warm-professional pharmaceutical register — cream canvas at #f7f3e8 with cold near-black ink and ONE burgundy accent (#6b1a1a) used sparingly for phase-indicator chips and hover states. Bodoni-family display serif paired with Inter Tight body. Editorial patient photography, numbered pipeline stages (with animated progress on scroll into view), clinical data callouts (real-time counting), and scientific molecule illustrations. Reads like a Genentech annual report crossed with a New England Journal of Medicine feature — evidence-first, trust-forward, human-warm.
|
|
32
|
+
influence: |
|
|
33
|
+
Big-pharmaceutical corporate publishing (Genentech at its warmest and
|
|
34
|
+
most patient-forward, Roche investor communications, Regeneron
|
|
35
|
+
scientific brochures). Distinct from tech-bio surfaces through the
|
|
36
|
+
WARM CREAM canvas + BODONI DISPLAY SERIF + BURGUNDY ACCENT trio —
|
|
37
|
+
which reads as trust-and-tradition rather than startup-and-disruption.
|
|
38
|
+
The register lives at the intersection of clinical-journal typography
|
|
39
|
+
and boutique-agency editorial polish.
|
|
40
|
+
|
|
41
|
+
family: C
|
|
42
|
+
base_number: 30
|
|
43
|
+
base_note: |
|
|
44
|
+
Family C editorial subregion, CORPORATE-EDITORIAL PHARMA slot.
|
|
45
|
+
Distinct from other Family C bases through the WARM CREAM + DISPLAY
|
|
46
|
+
SERIF + BURGUNDY ACCENT trio and the DATA-FORWARD signature moves
|
|
47
|
+
(numbered pipeline, clinical counters, timeline). Editorial (v2) is
|
|
48
|
+
Aperture photography-first quarterly with vermilion accent; Pharma
|
|
49
|
+
Clinical inverts the pairing (serif display over sans body) and swaps
|
|
50
|
+
the accent hue to burgundy. Both share sharp corners and single-accent
|
|
51
|
+
discipline but read as different publication types. This is an
|
|
52
|
+
upgrade of the existing v1 pharma-clinical slug from
|
|
53
|
+
archetype-fallback to a full bespoke composition.
|
|
54
|
+
|
|
55
|
+
render_url: http://localhost:5173/themes/pharma-clinical
|
|
56
|
+
|
|
57
|
+
surface: web
|
|
58
|
+
|
|
59
|
+
typography:
|
|
60
|
+
display: A Bodoni-family display serif with strong stress contrast and elegant serifs — the reference uses Fenice / Bodoni Moda. Free fallback stack — "Bodoni Moda", "Playfair Display", "PT Serif Display", Georgia, serif. Weight 500-700, mixed case for section titles + patient-name callouts, ALL CAPS ONLY for the wordmark. Top of scale ~64px for hero headline, 40px for section headings, 28px for pull quotes. Never uppercase at body scale.
|
|
61
|
+
body: A clean geometric sans for body copy — Inter Tight / Söhne / Aktiv Grotesk. Free fallback stack — "Inter Tight", Inter, "Space Grotesk", system-ui, sans-serif. Weight 400 for body copy, 500 for small labels, 600 for phase-indicator chips. 15-16px body copy, line-height 1.55.
|
|
62
|
+
mono: none. Pharma Clinical is a consumer corporate publishing surface. Mono has no role.
|
|
63
|
+
scale: 1.333 (perfect fourth — restrained, comfortable for long-form medical copy)
|
|
64
|
+
eyebrow_exception: |
|
|
65
|
+
Pharma Clinical LEGITIMATELY uses small uppercase 0.14em-tracked 10-11px labels for CLINICAL-PHASE INDICATORS (PHASE 01 / PHASE 02 / PHASE 03) and SECTION MARKERS (OUR SCIENCE / OUR PATIENTS / OUR PIPELINE). This is a THEME-SPECIFIC EXCEPTION — the reference publication style uses these EXACTLY in this register, as diegetic clinical publication markers rather than as decorative eyebrow slop. Every use is deliberate and reference-anchored.
|
|
66
|
+
|
|
67
|
+
palette:
|
|
68
|
+
bg: "#f7f3e8" # canvas — warm cream, warmer than gallery but cooler than cabana
|
|
69
|
+
surface: "#ffffff" # pure white raised panel
|
|
70
|
+
ink: "#1a1a1a" # cold near-black ink
|
|
71
|
+
accent: "#6b1a1a" # deep burgundy — the ONE accent
|
|
72
|
+
cream: "#f0eadc" # deeper cream for inverted band
|
|
73
|
+
darkInk: "#0a0a0a" # pure black for masthead + inverted band
|
|
74
|
+
mute: "#6a6558" # warm gray — captions + micro-labels
|
|
75
|
+
|
|
76
|
+
density: balanced
|
|
77
|
+
|
|
78
|
+
motion: |
|
|
79
|
+
Ships live in the section renderer (no external dependencies):
|
|
80
|
+
1. Hero display serif reveal — headline fades in from opacity 0 + translateY(24px) over 800ms cubic-bezier(0.23,1,0.32,1) on first paint. Body copy follows with 200ms delay.
|
|
81
|
+
2. Hero photograph fade + scale — the patient/scientist portrait opens from opacity 0.5 + scale(1.02) to opacity 1 + scale(1) over 1200ms cubic-bezier.
|
|
82
|
+
3. Numbered pipeline progress bar — as the pipeline section scrolls into view (IntersectionObserver at 40%), the progress fill animates from 0% → active-phase% over 1400ms cubic-bezier. Phase-indicator chips fade in with 160ms per-chip stagger.
|
|
83
|
+
4. Clinical data counters — each stat number rolls from 0 → target on first scroll into view via requestAnimationFrame, 2000ms ease-out.
|
|
84
|
+
5. Patient portrait progressive reveal — the story-band portrait fades from blur(6px) + opacity 0.4 → blur(0) + opacity 1 over 900ms cubic-bezier.
|
|
85
|
+
6. Timeline sequential reveal — milestone dots animate in with 120ms per-dot stagger + 500ms cubic-bezier when the timeline scrolls into view.
|
|
86
|
+
7. Nav shrink on scroll — masthead height reduces from 88px → 56px after 200px of scroll, transitioning padding + wordmark font-size over 300ms cubic-bezier.
|
|
87
|
+
8. Section reveals — each below-fold section fades in from opacity 0 + translateY(24px) → 0 over 700ms cubic-bezier on IntersectionObserver at 25% threshold.
|
|
88
|
+
9. prefers-reduced-motion: reduce — all reveals disabled; counters show final value; pipeline shows at active phase; nav still shrinks (state change); hover still works (interaction feedback).
|
|
89
|
+
|
|
90
|
+
Motion character: quiet, precise, trust-first. Custom cubic-bezier(0.23,1,0.32,1) for all reveals. Never marketing-loud, never startup-flashy — reads as a considered pharma annual report, not a SaaS product tour.
|
|
91
|
+
|
|
92
|
+
signature: |
|
|
93
|
+
Warm cream canvas at #f7f3e8 — the register's non-negotiable base
|
|
94
|
+
(deliberately warmer than editorial's gallery #fafafa, cooler than
|
|
95
|
+
cabana-poster's #eedfca, and distinct from claude-cream #F4F1EA).
|
|
96
|
+
Cold near-black ink #1a1a1a with ONE burgundy accent #6b1a1a used
|
|
97
|
+
ONLY for clinical-phase chip fills + section-marker underlines +
|
|
98
|
+
hover states + pull-quote marks. Sharp corners everywhere.
|
|
99
|
+
|
|
100
|
+
Composition begins with a MASTHEAD — a Bodoni-family wordmark
|
|
101
|
+
"WATERSHED" (ALL CAPS, letter-spacing 0.03em, ~24px) on the left,
|
|
102
|
+
a horizontal nav row center (For patients / For clinicians / Our
|
|
103
|
+
science / Our pipeline / Careers / Investors), a filled burgundy
|
|
104
|
+
rectangular "Contact" button right-aligned. The masthead shrinks
|
|
105
|
+
after 200px of scroll.
|
|
106
|
+
|
|
107
|
+
Hero: a two-column split — LEFT column carries the big Bodoni
|
|
108
|
+
display headline (~64px, mixed case) + a Inter Tight body-copy
|
|
109
|
+
lede paragraph + a burgundy "Learn about our science →" text
|
|
110
|
+
link with hover underline. RIGHT column carries a full-bleed
|
|
111
|
+
patient / scientist portrait photograph (studio-quality, warm
|
|
112
|
+
directional light) with a small caption strip beneath ("Photograph:
|
|
113
|
+
Dr. Ren Havelock, Head of Clinical Research, Watershed").
|
|
114
|
+
|
|
115
|
+
Below the hero: a NUMBERED PIPELINE STAGES section — a horizontal
|
|
116
|
+
progress bar with 5 phase markers (Discovery / Preclinical / Phase
|
|
117
|
+
01 / Phase 02 / Phase 03), each marked by a small burgundy chip and
|
|
118
|
+
a molecule count. On scroll into view, the progress fill animates
|
|
119
|
+
from 0 → active-phase% and phase chips fade in with 160ms stagger.
|
|
120
|
+
|
|
121
|
+
A PATIENT STORY BAND follows — a full-width warm cream inverted
|
|
122
|
+
band with a large patient portrait photograph on the left and a
|
|
123
|
+
patient-quote pull with attribution on the right ("For the first
|
|
124
|
+
time in eleven years, I slept through a Tuesday." — Amara, on
|
|
125
|
+
starting an investigational treatment). Italic Bodoni for the
|
|
126
|
+
pull quote at 32px.
|
|
127
|
+
|
|
128
|
+
CLINICAL DATA CALLOUTS — a 3-column grid with counting numbers:
|
|
129
|
+
247 (active trials), 12,483 (patients enrolled globally), 89%
|
|
130
|
+
(retention through phase 3). Each number counts up from 0 on
|
|
131
|
+
scroll into view. Below each number a body-copy explanation and
|
|
132
|
+
a small footnote citation.
|
|
133
|
+
|
|
134
|
+
SCIENTIFIC ILLUSTRATION section — a paired layout with a bespoke
|
|
135
|
+
MOLECULE SVG on one side (a stylized protein-fold visualization)
|
|
136
|
+
and a scientific-explanation paragraph on the other. The molecule
|
|
137
|
+
is drawn as line-art with subtle burgundy highlights, not as a 3D
|
|
138
|
+
render.
|
|
139
|
+
|
|
140
|
+
MILESTONE TIMELINE — a vertical timeline (rule + dots) with 6
|
|
141
|
+
historical entries (Founded 2003, First IPO, First approval, etc).
|
|
142
|
+
Dots animate in with 120ms per-dot stagger on scroll into view.
|
|
143
|
+
|
|
144
|
+
CAREERS BAND — warm cream inverted background with a "We're
|
|
145
|
+
hiring across research + clinical + regulatory + commercial"
|
|
146
|
+
monumental Bodoni headline + a 4-column open-role list + a
|
|
147
|
+
photograph of the actual laboratory space.
|
|
148
|
+
|
|
149
|
+
Footer: a dark inverted band with the big Bodoni wordmark
|
|
150
|
+
repeated, colophon paragraph, 4-column utility grid (About,
|
|
151
|
+
Patients, Investors, Legal), and small legal disclaimers.
|
|
152
|
+
|
|
153
|
+
Six bespoke SVG marks (molecule protein-fold, capsule outline,
|
|
154
|
+
microscope silhouette, patient-portrait framing bracket, phase-
|
|
155
|
+
chip separator glyph, timeline milestone dot) are dropped as
|
|
156
|
+
PUNCTUATION at specific compositional moments — never as a
|
|
157
|
+
uniform icon row.
|
|
158
|
+
|
|
159
|
+
imagery: |
|
|
160
|
+
EDITORIAL patient portrait + scientist portrait + laboratory
|
|
161
|
+
photography under warm directional light — the reference uses
|
|
162
|
+
quiet, dignified portraits of real patients and researchers, shot
|
|
163
|
+
in interior clinical / laboratory settings with soft window light.
|
|
164
|
+
FPO imagery here should read as considered documentary portraiture
|
|
165
|
+
(posed subject, warm interior light, minimal styling). NO stock
|
|
166
|
+
"diverse team in lab coats around a laptop" photography (that's the
|
|
167
|
+
AI-tell for corporate-pharma slop). NO 3D-rendered molecule
|
|
168
|
+
visualizations that read as game engine (bespoke SVG only). NO
|
|
169
|
+
warm-radial-gradient fills as placeholder decoration.
|
|
170
|
+
|
|
171
|
+
best_for:
|
|
172
|
+
- Big-pharmaceutical and biopharmaceutical corporate sites
|
|
173
|
+
- Clinical trial recruitment and patient-facing pharma sites
|
|
174
|
+
- Medical research organizations and academic clinical research units
|
|
175
|
+
- Healthcare technology companies with a clinical / regulatory register
|
|
176
|
+
- Boutique specialty-med brands (fertility, precision oncology, rare disease)
|
|
177
|
+
- Corporate reports and investor communications for life-sciences firms
|
|
178
|
+
|
|
179
|
+
avoid:
|
|
180
|
+
- "Dark canvas (near-black / true-black) as the primary background — Pharma Clinical's canvas is warm CREAM at #f7f3e8. A dark canvas inverts the trust-forward warm-professional register into a startup-biotech register (which is a different theme)."
|
|
181
|
+
- "Sans-serif display type — the display face MUST be a Bodoni-family serif with strong stress contrast (Bodoni Moda / Playfair Display fallback). Sans display collapses this into a modern-biotech register."
|
|
182
|
+
- "Multi-color accent palette — the whole register's move is ONE burgundy accent doing everything (phase chips, hover states, underlines, pull-quote mark). Introducing amber / cyan / any second accent collapses the discipline into candy-corporate slop."
|
|
183
|
+
- "Rounded corners on cards, buttons, phase-chip pills, timeline dots, or photograph frames — 0px radius everywhere."
|
|
184
|
+
- "Stock diverse-team-in-lab-coat photography — imagery MUST feel like editorial documentary portraiture (quiet posed subjects under warm directional light). Stock team-around-laptop photography is the AI-tell for corporate pharma slop."
|
|
185
|
+
- "3D-rendered molecule visualizations — molecule illustrations MUST be bespoke SVG line-art with subtle burgundy highlights. Game-engine 3D renders read as tech-biotech, not warm-clinical."
|
|
186
|
+
- "Mono-caps eyebrow labels outside the two legitimate use sites — CLINICAL-PHASE INDICATOR (PHASE 01) and SECTION MARKER (OUR SCIENCE) are the ONLY permitted mono-caps uses. Any additional 'SECTION · X' / 'CHAPTER · Y' / 'MIN READ' plate is slop-blocklist violation."
|
|
187
|
+
- "Cycling headline words / auto-advancing sliders / horizontal tickers — pharma register requires STATIC, RESTRAINED motion. Marketing-web motion collapses into startup slop."
|
|
188
|
+
- "Warm-radial gradient placeholder fills — every photograph FPO must read as documentary portraiture. Warm-radial gradients are the AI-tell for missing imagery."
|
|
189
|
+
- "Big saturated hero-marketing display type at 200px+ — the register requires RESTRAINED display scale so the content (data callouts, patient stories, pipeline) carries the drama, not the type."
|
|
190
|
+
|
|
191
|
+
banned_defaults:
|
|
192
|
+
- "claude-cream (#F4F1EA + serif + #D97757) — this theme's canvas is #f7f3e8, WARMER than claude-cream and distinct."
|
|
193
|
+
- "void+acid (near-black bg + single bright acid-green or vermilion accent)"
|
|
194
|
+
- "broadsheet-on-noneditorial (hairline rules + zero border-radius + newspaper columns on non-editorial content)"
|
|
195
|
+
- "tech-bro purple gradient (purple→blue gradient hero + centered headline + double CTA + emoji icons)"
|
|
196
|
+
- "uniform-everything (identical padding + one weight of one sans doing every job + rounded-2xl + shadow-md cards)"
|
|
197
|
+
- "dark-biotech-inversion (canvas is warm cream. Swapping to dark canvas collapses into a modern-biotech register that reads as startup, not big-pharma.)"
|
|
198
|
+
- "multi-accent-flood (ONE burgundy accent doing 100% of the punctuation. Introducing cyan / orange / any secondary accent collapses the discipline into candy-corporate.)"
|
|
199
|
+
- "stock-lab-coat-photography (imagery must feel documentary and considered. Stock diverse-team-in-lab is the AI-tell for corporate-pharma slop.)"
|
|
200
|
+
- "3d-molecule-render (molecule visualization must be bespoke SVG line-art with burgundy highlights. 3D game-engine renders read as tech-startup, not warm-pharma.)"
|
|
201
|
+
- "monumental-marketing-hero (hero display stays RESTRAINED at ~64px so the pipeline / patient stories / data callouts carry the composition. Big marketing hero type collapses the register into SaaS slop.)"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Generated from theme.yml. Do not edit by hand — edit theme.yml + re-materialize.
|
|
2
|
+
|
|
3
|
+
export const tokens = {
|
|
4
|
+
slug: "pharma-clinical",
|
|
5
|
+
family: "C",
|
|
6
|
+
base: "30",
|
|
7
|
+
palette: {
|
|
8
|
+
"bg": "#f7f3e8",
|
|
9
|
+
"surface": "#ffffff",
|
|
10
|
+
"ink": "#1a1a1a",
|
|
11
|
+
"accent": "#6b1a1a",
|
|
12
|
+
"cream": "#f0eadc",
|
|
13
|
+
"darkInk": "#0a0a0a",
|
|
14
|
+
"mute": "#6a6558"
|
|
15
|
+
},
|
|
16
|
+
typography: {
|
|
17
|
+
"display": "A Bodoni-family display serif with strong stress contrast and elegant serifs — the reference uses Fenice / Bodoni Moda. Free fallback stack — \"Bodoni Moda\", \"Playfair Display\", \"PT Serif Display\", Georgia, serif. Weight 500-700, mixed case for section titles + patient-name callouts, ALL CAPS ONLY for the wordmark. Top of scale ~64px for hero headline, 40px for section headings, 28px for pull quotes. Never uppercase at body scale.",
|
|
18
|
+
"body": "A clean geometric sans for body copy — Inter Tight / Söhne / Aktiv Grotesk. Free fallback stack — \"Inter Tight\", Inter, \"Space Grotesk\", system-ui, sans-serif. Weight 400 for body copy, 500 for small labels, 600 for phase-indicator chips. 15-16px body copy, line-height 1.55.",
|
|
19
|
+
"mono": "none. Pharma Clinical is a consumer corporate publishing surface. Mono has no role.",
|
|
20
|
+
"scale": "1.333 (perfect fourth — restrained, comfortable for long-form medical copy)",
|
|
21
|
+
"eyebrow_exception": "Pharma Clinical LEGITIMATELY uses small uppercase 0.14em-tracked 10-11px labels for CLINICAL-PHASE INDICATORS (PHASE 01 / PHASE 02 / PHASE 03) and SECTION MARKERS (OUR SCIENCE / OUR PATIENTS / OUR PIPELINE). This is a THEME-SPECIFIC EXCEPTION — the reference publication style uses these EXACTLY in this register, as diegetic clinical publication markers rather than as decorative eyebrow slop. Every use is deliberate and reference-anchored.\n"
|
|
22
|
+
},
|
|
23
|
+
surface: "web",
|
|
24
|
+
density: "balanced",
|
|
25
|
+
motion: "Ships live in the section renderer (no external dependencies):\n1. Hero display serif reveal — headline fades in from opacity 0 + translateY(24px) over 800ms cubic-bezier(0.23,1,0.32,1) on first paint. Body copy follows with 200ms delay.\n2. Hero photograph fade + scale — the patient/scientist portrait opens from opacity 0.5 + scale(1.02) to opacity 1 + scale(1) over 1200ms cubic-bezier.\n3. Numbered pipeline progress bar — as the pipeline section scrolls into view (IntersectionObserver at 40%), the progress fill animates from 0% → active-phase% over 1400ms cubic-bezier. Phase-indicator chips fade in with 160ms per-chip stagger.\n4. Clinical data counters — each stat number rolls from 0 → target on first scroll into view via requestAnimationFrame, 2000ms ease-out.\n5. Patient portrait progressive reveal — the story-band portrait fades from blur(6px) + opacity 0.4 → blur(0) + opacity 1 over 900ms cubic-bezier.\n6. Timeline sequential reveal — milestone dots animate in with 120ms per-dot stagger + 500ms cubic-bezier when the timeline scrolls into view.\n7. Nav shrink on scroll — masthead height reduces from 88px → 56px after 200px of scroll, transitioning padding + wordmark font-size over 300ms cubic-bezier.\n8. Section reveals — each below-fold section fades in from opacity 0 + translateY(24px) → 0 over 700ms cubic-bezier on IntersectionObserver at 25% threshold.\n9. prefers-reduced-motion: reduce — all reveals disabled; counters show final value; pipeline shows at active phase; nav still shrinks (state change); hover still works (interaction feedback).\n\nMotion character: quiet, precise, trust-first. Custom cubic-bezier(0.23,1,0.32,1) for all reveals. Never marketing-loud, never startup-flashy — reads as a considered pharma annual report, not a SaaS product tour.\n",
|
|
26
|
+
signature: "Warm cream canvas at #f7f3e8 — the register's non-negotiable base\n(deliberately warmer than editorial's gallery #fafafa, cooler than\ncabana-poster's #eedfca, and distinct from claude-cream #F4F1EA).\nCold near-black ink #1a1a1a with ONE burgundy accent #6b1a1a used\nONLY for clinical-phase chip fills + section-marker underlines +\nhover states + pull-quote marks. Sharp corners everywhere.\n\nComposition begins with a MASTHEAD — a Bodoni-family wordmark\n\"WATERSHED\" (ALL CAPS, letter-spacing 0.03em, ~24px) on the left,\na horizontal nav row center (For patients / For clinicians / Our\nscience / Our pipeline / Careers / Investors), a filled burgundy\nrectangular \"Contact\" button right-aligned. The masthead shrinks\nafter 200px of scroll.\n\nHero: a two-column split — LEFT column carries the big Bodoni\ndisplay headline (~64px, mixed case) + a Inter Tight body-copy\nlede paragraph + a burgundy \"Learn about our science →\" text\nlink with hover underline. RIGHT column carries a full-bleed\npatient / scientist portrait photograph (studio-quality, warm\ndirectional light) with a small caption strip beneath (\"Photograph:\nDr. Ren Havelock, Head of Clinical Research, Watershed\").\n\nBelow the hero: a NUMBERED PIPELINE STAGES section — a horizontal\nprogress bar with 5 phase markers (Discovery / Preclinical / Phase\n01 / Phase 02 / Phase 03), each marked by a small burgundy chip and\na molecule count. On scroll into view, the progress fill animates\nfrom 0 → active-phase% and phase chips fade in with 160ms stagger.\n\nA PATIENT STORY BAND follows — a full-width warm cream inverted\nband with a large patient portrait photograph on the left and a\npatient-quote pull with attribution on the right (\"For the first\ntime in eleven years, I slept through a Tuesday.\" — Amara, on\nstarting an investigational treatment). Italic Bodoni for the\npull quote at 32px.\n\nCLINICAL DATA CALLOUTS — a 3-column grid with counting numbers:\n247 (active trials), 12,483 (patients enrolled globally), 89%\n(retention through phase 3). Each number counts up from 0 on\nscroll into view. Below each number a body-copy explanation and\na small footnote citation.\n\nSCIENTIFIC ILLUSTRATION section — a paired layout with a bespoke\nMOLECULE SVG on one side (a stylized protein-fold visualization)\nand a scientific-explanation paragraph on the other. The molecule\nis drawn as line-art with subtle burgundy highlights, not as a 3D\nrender.\n\nMILESTONE TIMELINE — a vertical timeline (rule + dots) with 6\nhistorical entries (Founded 2003, First IPO, First approval, etc).\nDots animate in with 120ms per-dot stagger on scroll into view.\n\nCAREERS BAND — warm cream inverted background with a \"We're\nhiring across research + clinical + regulatory + commercial\"\nmonumental Bodoni headline + a 4-column open-role list + a\nphotograph of the actual laboratory space.\n\nFooter: a dark inverted band with the big Bodoni wordmark\nrepeated, colophon paragraph, 4-column utility grid (About,\nPatients, Investors, Legal), and small legal disclaimers.\n\nSix bespoke SVG marks (molecule protein-fold, capsule outline,\nmicroscope silhouette, patient-portrait framing bracket, phase-\nchip separator glyph, timeline milestone dot) are dropped as\nPUNCTUATION at specific compositional moments — never as a\nuniform icon row.\n",
|
|
27
|
+
} as const;
|
|
28
|
+
|
|
29
|
+
export type Tokens = typeof tokens;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Pill Editorial
|
|
2
|
+
|
|
3
|
+
> Modern cultural editorial register — black canvas broken by rounded pill tiles and a warm cream inverted band, monumental Million-family bold uppercase display type at 240px+, and a comprehensive 999px border-radius applied to every card / button / tile / image / form input / nav pill without exception.
|
|
4
|
+
|
|
5
|
+
**Slug:** `pill-editorial` — **Surface:** web — **Density:** dense
|
|
6
|
+
|
|
7
|
+
## Influence
|
|
8
|
+
|
|
9
|
+
Modern culturally-specific creative studios (the register held by Black-owned and community-forward creative agencies at their most confident + editorial). Also modern-editorial rounded-chrome design systems (the Blackbird, Cash App at their most warm, Are.na when it leans playful). Distinct from other Family C bases through the FULLY ROUNDED chrome and the MONUMENTAL display type at editorial-poster scale.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Signature move
|
|
13
|
+
|
|
14
|
+
Every card, button, tile, image, form input, and nav pill in the
|
|
15
|
+
composition ships at 999px border-radius — the FULLY ROUNDED chrome
|
|
16
|
+
is the register's distinguishing structural move. This is the first
|
|
17
|
+
theme in the library with a non-zero border radius; every previous
|
|
18
|
+
theme (10 of 10) uses 0px sharp corners. Monumental display type at
|
|
19
|
+
240px (Million reference face; Fraunces 900 free fallback), all-caps,
|
|
20
|
+
breaking the baseline grid — the display is the primary design
|
|
21
|
+
element. A featured PORTRAIT PILL TILE at ~600x900px shows the
|
|
22
|
+
studio's featured subject inside a rounded-pill mask (aspect ratio
|
|
23
|
+
~2:3), with a horizontal LOADING text marquee scrolling across the
|
|
24
|
+
bottom of the image. A big cartoon SVG illustration (a person on a
|
|
25
|
+
bicycle with a bird companion, hand-drawn in cream on black)
|
|
26
|
+
anchors the "PLAY AS PRACTICE" motto section. Below, a 5-card grid
|
|
27
|
+
of recommendation pill tiles — each card is a fully-rounded pill
|
|
28
|
+
with a portrait image at the top, a small colored accent chip, a
|
|
29
|
+
title, and a byline. A newsletter capture with an amber pill button.
|
|
30
|
+
A 3-book recommended-reading strip with each book cover in a rounded
|
|
31
|
+
pill mask. The composition closes with a monumental "FOR YOU"
|
|
32
|
+
headline and a 3-card audience-segment grid (For Artists / For
|
|
33
|
+
Institutions / For Your Team) — each card a large rounded pill
|
|
34
|
+
tile with a portrait image and a small accent-chip. Small
|
|
35
|
+
mono-caps 10-12px 0.2em-tracked eyebrow labels are LEGITIMATELY
|
|
36
|
+
USED here (rare exception to the universal slop-blocklist — see
|
|
37
|
+
eyebrow_exception in typography). Brand character sits in the
|
|
38
|
+
rounded chrome, the monumental display, and the editorial
|
|
39
|
+
portraits — not in decoration, not in geometric ornament.
|
|
40
|
+
|
|
41
|
+
## Palette
|
|
42
|
+
|
|
43
|
+
- **bg:** `#000000`
|
|
44
|
+
- **surface:** `#111111`
|
|
45
|
+
- **ink:** `#FFFFFF`
|
|
46
|
+
- **accent:** `#146C5A`
|
|
47
|
+
|
|
48
|
+
## Typography
|
|
49
|
+
|
|
50
|
+
- **Display:** Million (paid) or a bold display serif fallback — Fraunces at 900 weight, or Recoleta / DM Serif Display at bold weight — 800-900 weight, UPPERCASE always, letter-spacing normal or slightly positive. At scale — 240px monumental hero, 160px section headline, 60-80px subheads, 34px h3. Million is the reference face (a bold retro-display serif with chunky proportions); Fraunces at 900-weight bold-italic-off is the closest free approximation with similar chunky-display proportions and expressive character. Reference uses a slightly weird retro-serif face that carries character rather than restraint — the display is expressive, not disciplined.
|
|
51
|
+
- **Body:** Inter Tight or a system sans — 400-500 weight, mixed case, 15-18px body copy, line-height 1.5. Small labels get 12px 500-weight sentence case.
|
|
52
|
+
- **Mono:** none. Pill Editorial is a consumer editorial surface — mono has no role.
|
|
53
|
+
- **Scale:** 1.5 (perfect fifth — deliberately wide contrast so the monumental display shouts and body settles calm)
|
|
54
|
+
|
|
55
|
+
## Motion
|
|
56
|
+
|
|
57
|
+
Ships live in the section renderer (no external dependencies):
|
|
58
|
+
1. Monumental hero headline reveal — the display type fades in from opacity 0 + slight scale(0.96) → 1 over 800ms cubic-bezier(0.19,1,0.22,1) on first paint. No letter-stagger (this is an editorial register, not a marketing register).
|
|
59
|
+
2. LOADING marquee — the "LOADING" text on the featured portrait image scrolls horizontally at 40s per loop, continuously (pauses on hover). This IS a legitimate marquee per the reference — spec allows.
|
|
60
|
+
3. Featured pill tiles hover — the rounded pill image tile scales(1.02) + rotates slightly (-1deg) on hover, 220ms cubic-bezier. Reads as "picking up a physical print off the wall."
|
|
61
|
+
4. Card grid stagger — the 5-card recommendation grid fades in with 80ms stagger + 600ms cubic-bezier when scrolled into view.
|
|
62
|
+
5. Newsletter form focus — pill input outline transitions from cream to amber on focus, 200ms.
|
|
63
|
+
6. PLAY AS PRACTICE cartoon SVG — the illustrated character rocks 2deg back and forth on a 3s loop; pauses on hover for readability.
|
|
64
|
+
7. FOR YOU audience-segment cards — hover scales the pill card 1.02 + lifts the internal image scale(1.05), 240ms cubic-bezier.
|
|
65
|
+
8. prefers-reduced-motion: reduce — hero at final scale; LOADING marquee paused; card stagger + hover disabled; cartoon rocking paused. State changes still fire.
|
|
66
|
+
|
|
67
|
+
Customer installs these as dependencies for the deeper motion tier:
|
|
68
|
+
- Lenis — smooth inertial scroll (the tall page benefits from inertial cadence).
|
|
69
|
+
- GSAP DrawSVG for the cartoon illustration reveals + monumental headline character animations.
|
|
70
|
+
- Custom preloader with the monumental wordmark drawing letter-by-letter over the black canvas.
|
|
71
|
+
|
|
72
|
+
Motion character: playful, cultural, tactile. Custom cubic-bezier(0.19,1,0.22,1) for reveals. The register lives between corporate editorial and playful cultural — motion should feel considered but not clinical.
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## Imagery
|
|
76
|
+
|
|
77
|
+
Editorial PORTRAIT PHOTOGRAPHY of subjects — the reference uses
|
|
78
|
+
images of Black artists, cultural figures, and creative practitioners
|
|
79
|
+
photographed under directional light in colorful outfits against
|
|
80
|
+
colored backdrops. FPO imagery here should read as culturally
|
|
81
|
+
specific + editorially considered — colored backdrop rectangles
|
|
82
|
+
with subject silhouettes, textural cutouts, and warm-forward
|
|
83
|
+
lighting cues. Never generic stock. Every photo tile is masked to
|
|
84
|
+
a 999px rounded-pill shape. Cartoon SVG illustrations (bespoke,
|
|
85
|
+
hand-drawn feel — line art of figures, animals, and simple
|
|
86
|
+
environmental cues) mixed with photography. NO gradient blobs, NO
|
|
87
|
+
glassmorphism, NO stock-diverse-workplace photography (that's the
|
|
88
|
+
slop tell). The register lives at the intersection of magazine
|
|
89
|
+
editorial + community-forward creative studio.
|
|
90
|
+
|
|
91
|
+
## Best for
|
|
92
|
+
|
|
93
|
+
- Cultural intelligence studios and Black-owned creative agencies
|
|
94
|
+
- Modern editorial magazines with a culturally-specific voice
|
|
95
|
+
- Community-forward creative studios (art advisories, cultural consultancies)
|
|
96
|
+
- Podcast + editorial platforms with a distinct subculture perspective
|
|
97
|
+
- Independent art advisories serving cultural institutions + artists
|
|
98
|
+
- Boutique studios doing brand work for museums, cultural venues, and heritage brands
|
|
99
|
+
|
|
100
|
+
## Reject if
|
|
101
|
+
|
|
102
|
+
_Director grades each of the following as a pass/fail check. Any violation blocks the theme._
|
|
103
|
+
|
|
104
|
+
- Non-999px border radius — this is the register's distinguishing structural move. Every card, button, tile, image, form input, nav pill MUST ship at 999px.
|
|
105
|
+
- Serif or humanist display type at the hero scale — the display face MUST be a bold retro-display serif with chunky character (Million, Fraunces 900, Recoleta, DM Serif Display). Inter Display / Anton / DM Sans have the wrong register.
|
|
106
|
+
- Multiple accent colors flooding the composition — cream + forest + amber is the studio's palette. Introducing pink / purple / any additional color as an accent collapses the register.
|
|
107
|
+
- Neutral canvas (white / cream / gray) as the primary background — canvas IS black. Swapping to a light canvas collapses this into generic-editorial slop.
|
|
108
|
+
- Corporate polish — no drop-shadow-md, no soft-glow, no gradient backdrop. Pill tiles are FLAT rounded rectangles with color fills only.
|
|
109
|
+
- Sharp-cornered cards or buttons anywhere on the page — the 999px pill is universal in this theme.
|
|
110
|
+
- Generic stock photography that reads as 'diverse workplace' — imagery MUST feel editorial + culturally specific. Portraits under directional light on colored backdrops, not lunch meetings around a laptop.
|
|
111
|
+
- Uniform 3-column feature grids — the FOR YOU section is 3 cards but each card has a DIFFERENT color, DIFFERENT image, DIFFERENT audience label. It's not a template.
|
|
112
|
+
- Emoji or decorative unicode marks — cartoon SVG illustrations and photography carry all the ornamentation
|
|
113
|
+
- Auto-advancing hero sliders / cycling headline words — only the LOADING marquee is auto (per reference); everything else waits for user input
|
|
114
|
+
|
|
115
|
+
## Banned defaults (inherited + theme-specific)
|
|
116
|
+
|
|
117
|
+
- claude-cream (#F4F1EA + serif + #D97757)
|
|
118
|
+
- void+acid (near-black bg + single bright acid-green or vermilion accent)
|
|
119
|
+
- broadsheet-on-noneditorial (hairline rules + zero border-radius + newspaper columns on non-editorial content)
|
|
120
|
+
- tech-bro purple gradient (purple→blue gradient hero + centered headline + double CTA + emoji icons)
|
|
121
|
+
- uniform-everything (identical padding + one weight of one sans doing every job + rounded-2xl + shadow-md cards)
|
|
122
|
+
- sharp-corner-anywhere (this theme's whole point is the fully-rounded pill chrome. A sharp-cornered card, button, or input anywhere on the page immediately breaks the register.)
|
|
123
|
+
- cream-flood (cream is INVERTED-BAND-BACKGROUND + CARD-FILL color, not a canvas primary. Making cream the whole page background collapses the theme into a generic warm-editorial and the black-canvas identity dies.)
|
|
124
|
+
- generic-diverse-workplace-photography (the imagery must be EDITORIAL PORTRAIT under directional light on colored backdrops. Stock photography of racially-diverse people in an office collapses the register into corporate-diversity slop.)
|
|
125
|
+
- pill-plus-shadow (rounded pills with drop-shadow-md is the stock Medium / Substack aesthetic. Pills here must be FLAT color-fill rectangles with no shadow.)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"slug":"pill-editorial","gates":[{"gate":"slop-blocklist","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:42:34.447Z","dismissed":[]},{"gate":"regression-scan","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:42:34.455Z","dismissed":[]},{"gate":"avoid-rubric","verdict":{"passed":true,"failures":[]},"ran_at":"2026-07-04T07:43:17.213Z","dismissed":[]},{"gate":"anchor-compare","verdict":{"passed":true,"failures":[],"skipped":"Family C rubric.md missing at /Users/mattfrischer/Taste/site/design-system/golden-set/C/rubric.md — anchor-compare skipped."},"ran_at":"2026-07-04T07:43:17.214Z","dismissed":[]}],"overall":"PASS","ran_at":"2026-07-04T07:42:34.447Z"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Generated from theme.yml. Merge into your tailwind.config.ts under theme.extend.
|
|
2
|
+
// slug: pill-editorial
|
|
3
|
+
export const pillEditorialTailwindExtend = {
|
|
4
|
+
colors: {
|
|
5
|
+
bg: "#000000",
|
|
6
|
+
surface: "#111111",
|
|
7
|
+
ink: "#FFFFFF",
|
|
8
|
+
accent: "#146C5A",
|
|
9
|
+
},
|
|
10
|
+
fontFamily: {
|
|
11
|
+
display: ["Million (paid) or a bold display serif fallback — Fraunces at 900 weight, or Recoleta / DM Serif Display at bold weight — 800-900 weight, UPPERCASE always, letter-spacing normal or slightly positive. At scale — 240px monumental hero, 160px section headline, 60-80px subheads, 34px h3. Million is the reference face (a bold retro-display serif with chunky proportions); Fraunces at 900-weight bold-italic-off is the closest free approximation with similar chunky-display proportions and expressive character. Reference uses a slightly weird retro-serif face that carries character rather than restraint — the display is expressive, not disciplined."],
|
|
12
|
+
body: ["Inter Tight or a system sans — 400-500 weight, mixed case, 15-18px body copy, line-height 1.5. Small labels get 12px 500-weight sentence case."],
|
|
13
|
+
mono: ["none. Pill Editorial is a consumer editorial surface — mono has no role."],
|
|
14
|
+
},
|
|
15
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Pill Editorial — Family C, Editorial & Print.
|
|
2
|
+
#
|
|
3
|
+
# NEW-BASE CANDIDATE for BESPOKE_THEME_SYSTEM.md. FIRST theme in the
|
|
4
|
+
# library with a non-zero border radius. Every previous theme (10 of
|
|
5
|
+
# 10) has been 0px sharp corners. Pill Editorial ships every card,
|
|
6
|
+
# button, tile, image, form input, and nav pill at 999px radius —
|
|
7
|
+
# the register is FULLY ROUNDED as its distinguishing feature.
|
|
8
|
+
#
|
|
9
|
+
# Family placement — Editorial & Print register, but distinct from
|
|
10
|
+
# other Family C bases:
|
|
11
|
+
# - Base 26 Cut & Paste Zine — pure ransom-note chaos (marker-mag
|
|
12
|
+
# adjacent)
|
|
13
|
+
# - Base 27 Type Specimen — foundry showcase
|
|
14
|
+
# - Ember Poster (my new-base) — warm-dark editorial
|
|
15
|
+
# - Case Panel (my new-base) — agency portfolio
|
|
16
|
+
# - Marker Mag (my new-base) — student DIY
|
|
17
|
+
# - Atelier Radiance (my new-base) — luxury boutique
|
|
18
|
+
# Pill Editorial fills the gap of MODERN CULTURAL EDITORIAL — a
|
|
19
|
+
# distinctly Black-cultural-studio register with rounded pills as the
|
|
20
|
+
# structural chrome and monumental display type as the identity.
|
|
21
|
+
#
|
|
22
|
+
# Authored from Matt's provided design brief (2026-07-04,
|
|
23
|
+
# thefutureinblack.com reference — a real cultural intelligence studio).
|
|
24
|
+
# Placeholder brand is a fictional cultural intelligence studio called
|
|
25
|
+
# KIN — domain-agnostic mockup that could re-skin to any culturally-
|
|
26
|
+
# specific creative studio, editorial magazine, art advisory, or
|
|
27
|
+
# community-forward brand. The register expresses "modern editorial"
|
|
28
|
+
# through the ROUNDED PILL chrome + MONUMENTAL display type +
|
|
29
|
+
# EDITORIAL PHOTOGRAPHY that photographs subjects with cultural
|
|
30
|
+
# specificity rather than generic-stock aesthetic.
|
|
31
|
+
#
|
|
32
|
+
# Eleventh theme via the v2 harness. Fourth Family C theme (after
|
|
33
|
+
# ember-poster + case-panel + marker-mag). Sixth NEW BASE.
|
|
34
|
+
#
|
|
35
|
+
# Alternative slugs considered — culture-studio (too generic),
|
|
36
|
+
# soft-editorial (imprecise), pill-cultural (backward word order),
|
|
37
|
+
# radius-editorial (technical framing). Pill Editorial picked because
|
|
38
|
+
# "pill" nails the 999px radius signature and "editorial" carries the
|
|
39
|
+
# magazine/monumental-type register that anchors this base.
|
|
40
|
+
|
|
41
|
+
name: Pill Editorial
|
|
42
|
+
concept: Modern cultural editorial register — black canvas broken by rounded pill tiles and a warm cream inverted band, monumental Million-family bold uppercase display type at 240px+, and a comprehensive 999px border-radius applied to every card / button / tile / image / form input / nav pill without exception.
|
|
43
|
+
influence: |
|
|
44
|
+
Modern culturally-specific creative studios (the register held by Black-owned and community-forward creative agencies at their most confident + editorial). Also modern-editorial rounded-chrome design systems (the Blackbird, Cash App at their most warm, Are.na when it leans playful). Distinct from other Family C bases through the FULLY ROUNDED chrome and the MONUMENTAL display type at editorial-poster scale.
|
|
45
|
+
|
|
46
|
+
family: C
|
|
47
|
+
base_number: 26
|
|
48
|
+
base_note: |
|
|
49
|
+
New-base candidate in Family C, adjacent to Base 26 Cut & Paste Zine but from a fundamentally different aesthetic tradition. Base 26 is punk photocopy anarchy; Pill Editorial is refined modern editorial with rounded chrome. Both trade on their subculture register but through opposite structural moves — Cut & Paste through torn edges + mismatched fonts, Pill Editorial through fully-rounded pills + one confident monumental display. This is the FIRST theme with a non-zero border radius in the library — the 999px pill is the register's distinguishing structural move.
|
|
50
|
+
|
|
51
|
+
render_url: http://localhost:5173/themes/pill-editorial
|
|
52
|
+
|
|
53
|
+
surface: web
|
|
54
|
+
|
|
55
|
+
typography:
|
|
56
|
+
display: Million (paid) or a bold display serif fallback — Fraunces at 900 weight, or Recoleta / DM Serif Display at bold weight — 800-900 weight, UPPERCASE always, letter-spacing normal or slightly positive. At scale — 240px monumental hero, 160px section headline, 60-80px subheads, 34px h3. Million is the reference face (a bold retro-display serif with chunky proportions); Fraunces at 900-weight bold-italic-off is the closest free approximation with similar chunky-display proportions and expressive character. Reference uses a slightly weird retro-serif face that carries character rather than restraint — the display is expressive, not disciplined.
|
|
57
|
+
body: Inter Tight or a system sans — 400-500 weight, mixed case, 15-18px body copy, line-height 1.5. Small labels get 12px 500-weight sentence case.
|
|
58
|
+
mono: none. Pill Editorial is a consumer editorial surface — mono has no role.
|
|
59
|
+
scale: 1.5 (perfect fifth — deliberately wide contrast so the monumental display shouts and body settles calm)
|
|
60
|
+
eyebrow_exception: |
|
|
61
|
+
The universal slop-blocklist bans mono-caps eyebrows as a general defensive rule. Pill Editorial LEGITIMATELY uses small uppercase 0.2em-tracked 10-12px labels as section eyebrows because the reference site (thefutureinblack.com) genuinely uses them in this exact register — they are part of the modern-editorial vocabulary this base descends from. Every use of a small caps label in this theme is deliberate and reference-anchored, not defensive slop. This is a THEME-SPECIFIC EXCEPTION that must be manually preserved during harness grading.
|
|
62
|
+
|
|
63
|
+
palette:
|
|
64
|
+
bg: "#000000" # canvas — dark hero + full-page dark register
|
|
65
|
+
surface: "#111111" # slightly-lifted panel on the dark canvas
|
|
66
|
+
ink: "#FFFFFF" # white — primary text on the dark canvas
|
|
67
|
+
accent: "#146C5A" # primary accent (forest green) — pill CTAs + accent word inside headlines
|
|
68
|
+
cream: "#F2E6CA" # warm parchment — inverted "For You" section band + editorial pill tiles
|
|
69
|
+
forest: "#146C5A" # same as accent — kept as a semantic alias for downstream tokens
|
|
70
|
+
amber: "#E8A628" # secondary accent — highlight underlines + small pill badges
|
|
71
|
+
darkInk: "#0A0A0A" # ink for text on cream + forest pill tiles
|
|
72
|
+
mute: "#8A8078" # secondary text (labels, captions)
|
|
73
|
+
|
|
74
|
+
density: dense
|
|
75
|
+
|
|
76
|
+
motion: |
|
|
77
|
+
Ships live in the section renderer (no external dependencies):
|
|
78
|
+
1. Monumental hero headline reveal — the display type fades in from opacity 0 + slight scale(0.96) → 1 over 800ms cubic-bezier(0.19,1,0.22,1) on first paint. No letter-stagger (this is an editorial register, not a marketing register).
|
|
79
|
+
2. LOADING marquee — the "LOADING" text on the featured portrait image scrolls horizontally at 40s per loop, continuously (pauses on hover). This IS a legitimate marquee per the reference — spec allows.
|
|
80
|
+
3. Featured pill tiles hover — the rounded pill image tile scales(1.02) + rotates slightly (-1deg) on hover, 220ms cubic-bezier. Reads as "picking up a physical print off the wall."
|
|
81
|
+
4. Card grid stagger — the 5-card recommendation grid fades in with 80ms stagger + 600ms cubic-bezier when scrolled into view.
|
|
82
|
+
5. Newsletter form focus — pill input outline transitions from cream to amber on focus, 200ms.
|
|
83
|
+
6. PLAY AS PRACTICE cartoon SVG — the illustrated character rocks 2deg back and forth on a 3s loop; pauses on hover for readability.
|
|
84
|
+
7. FOR YOU audience-segment cards — hover scales the pill card 1.02 + lifts the internal image scale(1.05), 240ms cubic-bezier.
|
|
85
|
+
8. prefers-reduced-motion: reduce — hero at final scale; LOADING marquee paused; card stagger + hover disabled; cartoon rocking paused. State changes still fire.
|
|
86
|
+
|
|
87
|
+
Customer installs these as dependencies for the deeper motion tier:
|
|
88
|
+
- Lenis — smooth inertial scroll (the tall page benefits from inertial cadence).
|
|
89
|
+
- GSAP DrawSVG for the cartoon illustration reveals + monumental headline character animations.
|
|
90
|
+
- Custom preloader with the monumental wordmark drawing letter-by-letter over the black canvas.
|
|
91
|
+
|
|
92
|
+
Motion character: playful, cultural, tactile. Custom cubic-bezier(0.19,1,0.22,1) for reveals. The register lives between corporate editorial and playful cultural — motion should feel considered but not clinical.
|
|
93
|
+
|
|
94
|
+
signature: |
|
|
95
|
+
Every card, button, tile, image, form input, and nav pill in the
|
|
96
|
+
composition ships at 999px border-radius — the FULLY ROUNDED chrome
|
|
97
|
+
is the register's distinguishing structural move. This is the first
|
|
98
|
+
theme in the library with a non-zero border radius; every previous
|
|
99
|
+
theme (10 of 10) uses 0px sharp corners. Monumental display type at
|
|
100
|
+
240px (Million reference face; Fraunces 900 free fallback), all-caps,
|
|
101
|
+
breaking the baseline grid — the display is the primary design
|
|
102
|
+
element. A featured PORTRAIT PILL TILE at ~600x900px shows the
|
|
103
|
+
studio's featured subject inside a rounded-pill mask (aspect ratio
|
|
104
|
+
~2:3), with a horizontal LOADING text marquee scrolling across the
|
|
105
|
+
bottom of the image. A big cartoon SVG illustration (a person on a
|
|
106
|
+
bicycle with a bird companion, hand-drawn in cream on black)
|
|
107
|
+
anchors the "PLAY AS PRACTICE" motto section. Below, a 5-card grid
|
|
108
|
+
of recommendation pill tiles — each card is a fully-rounded pill
|
|
109
|
+
with a portrait image at the top, a small colored accent chip, a
|
|
110
|
+
title, and a byline. A newsletter capture with an amber pill button.
|
|
111
|
+
A 3-book recommended-reading strip with each book cover in a rounded
|
|
112
|
+
pill mask. The composition closes with a monumental "FOR YOU"
|
|
113
|
+
headline and a 3-card audience-segment grid (For Artists / For
|
|
114
|
+
Institutions / For Your Team) — each card a large rounded pill
|
|
115
|
+
tile with a portrait image and a small accent-chip. Small
|
|
116
|
+
mono-caps 10-12px 0.2em-tracked eyebrow labels are LEGITIMATELY
|
|
117
|
+
USED here (rare exception to the universal slop-blocklist — see
|
|
118
|
+
eyebrow_exception in typography). Brand character sits in the
|
|
119
|
+
rounded chrome, the monumental display, and the editorial
|
|
120
|
+
portraits — not in decoration, not in geometric ornament.
|
|
121
|
+
|
|
122
|
+
imagery: |
|
|
123
|
+
Editorial PORTRAIT PHOTOGRAPHY of subjects — the reference uses
|
|
124
|
+
images of Black artists, cultural figures, and creative practitioners
|
|
125
|
+
photographed under directional light in colorful outfits against
|
|
126
|
+
colored backdrops. FPO imagery here should read as culturally
|
|
127
|
+
specific + editorially considered — colored backdrop rectangles
|
|
128
|
+
with subject silhouettes, textural cutouts, and warm-forward
|
|
129
|
+
lighting cues. Never generic stock. Every photo tile is masked to
|
|
130
|
+
a 999px rounded-pill shape. Cartoon SVG illustrations (bespoke,
|
|
131
|
+
hand-drawn feel — line art of figures, animals, and simple
|
|
132
|
+
environmental cues) mixed with photography. NO gradient blobs, NO
|
|
133
|
+
glassmorphism, NO stock-diverse-workplace photography (that's the
|
|
134
|
+
slop tell). The register lives at the intersection of magazine
|
|
135
|
+
editorial + community-forward creative studio.
|
|
136
|
+
|
|
137
|
+
best_for:
|
|
138
|
+
- Cultural intelligence studios and Black-owned creative agencies
|
|
139
|
+
- Modern editorial magazines with a culturally-specific voice
|
|
140
|
+
- Community-forward creative studios (art advisories, cultural consultancies)
|
|
141
|
+
- Podcast + editorial platforms with a distinct subculture perspective
|
|
142
|
+
- Independent art advisories serving cultural institutions + artists
|
|
143
|
+
- Boutique studios doing brand work for museums, cultural venues, and heritage brands
|
|
144
|
+
|
|
145
|
+
avoid:
|
|
146
|
+
- "Non-999px border radius — this is the register's distinguishing structural move. Every card, button, tile, image, form input, nav pill MUST ship at 999px."
|
|
147
|
+
- "Serif or humanist display type at the hero scale — the display face MUST be a bold retro-display serif with chunky character (Million, Fraunces 900, Recoleta, DM Serif Display). Inter Display / Anton / DM Sans have the wrong register."
|
|
148
|
+
- "Multiple accent colors flooding the composition — cream + forest + amber is the studio's palette. Introducing pink / purple / any additional color as an accent collapses the register."
|
|
149
|
+
- "Neutral canvas (white / cream / gray) as the primary background — canvas IS black. Swapping to a light canvas collapses this into generic-editorial slop."
|
|
150
|
+
- "Corporate polish — no drop-shadow-md, no soft-glow, no gradient backdrop. Pill tiles are FLAT rounded rectangles with color fills only."
|
|
151
|
+
- "Sharp-cornered cards or buttons anywhere on the page — the 999px pill is universal in this theme."
|
|
152
|
+
- "Generic stock photography that reads as 'diverse workplace' — imagery MUST feel editorial + culturally specific. Portraits under directional light on colored backdrops, not lunch meetings around a laptop."
|
|
153
|
+
- "Uniform 3-column feature grids — the FOR YOU section is 3 cards but each card has a DIFFERENT color, DIFFERENT image, DIFFERENT audience label. It's not a template."
|
|
154
|
+
- "Emoji or decorative unicode marks — cartoon SVG illustrations and photography carry all the ornamentation"
|
|
155
|
+
- "Auto-advancing hero sliders / cycling headline words — only the LOADING marquee is auto (per reference); everything else waits for user input"
|
|
156
|
+
|
|
157
|
+
banned_defaults:
|
|
158
|
+
# Global blocklist from BESPOKE_THEME_SYSTEM.md
|
|
159
|
+
- "claude-cream (#F4F1EA + serif + #D97757)"
|
|
160
|
+
- "void+acid (near-black bg + single bright acid-green or vermilion accent)"
|
|
161
|
+
- "broadsheet-on-noneditorial (hairline rules + zero border-radius + newspaper columns on non-editorial content)"
|
|
162
|
+
- "tech-bro purple gradient (purple→blue gradient hero + centered headline + double CTA + emoji icons)"
|
|
163
|
+
- "uniform-everything (identical padding + one weight of one sans doing every job + rounded-2xl + shadow-md cards)"
|
|
164
|
+
# Base-specific
|
|
165
|
+
- "sharp-corner-anywhere (this theme's whole point is the fully-rounded pill chrome. A sharp-cornered card, button, or input anywhere on the page immediately breaks the register.)"
|
|
166
|
+
- "cream-flood (cream is INVERTED-BAND-BACKGROUND + CARD-FILL color, not a canvas primary. Making cream the whole page background collapses the theme into a generic warm-editorial and the black-canvas identity dies.)"
|
|
167
|
+
- "generic-diverse-workplace-photography (the imagery must be EDITORIAL PORTRAIT under directional light on colored backdrops. Stock photography of racially-diverse people in an office collapses the register into corporate-diversity slop.)"
|
|
168
|
+
- "pill-plus-shadow (rounded pills with drop-shadow-md is the stock Medium / Substack aesthetic. Pills here must be FLAT color-fill rectangles with no shadow.)"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Generated from theme.yml. Do not edit by hand — edit theme.yml + re-materialize.
|
|
2
|
+
|
|
3
|
+
export const tokens = {
|
|
4
|
+
slug: "pill-editorial",
|
|
5
|
+
family: "C",
|
|
6
|
+
base: "26",
|
|
7
|
+
palette: {
|
|
8
|
+
"bg": "#000000",
|
|
9
|
+
"surface": "#111111",
|
|
10
|
+
"ink": "#FFFFFF",
|
|
11
|
+
"accent": "#146C5A",
|
|
12
|
+
"cream": "#F2E6CA",
|
|
13
|
+
"forest": "#146C5A",
|
|
14
|
+
"amber": "#E8A628",
|
|
15
|
+
"darkInk": "#0A0A0A",
|
|
16
|
+
"mute": "#8A8078"
|
|
17
|
+
},
|
|
18
|
+
typography: {
|
|
19
|
+
"display": "Million (paid) or a bold display serif fallback — Fraunces at 900 weight, or Recoleta / DM Serif Display at bold weight — 800-900 weight, UPPERCASE always, letter-spacing normal or slightly positive. At scale — 240px monumental hero, 160px section headline, 60-80px subheads, 34px h3. Million is the reference face (a bold retro-display serif with chunky proportions); Fraunces at 900-weight bold-italic-off is the closest free approximation with similar chunky-display proportions and expressive character. Reference uses a slightly weird retro-serif face that carries character rather than restraint — the display is expressive, not disciplined.",
|
|
20
|
+
"body": "Inter Tight or a system sans — 400-500 weight, mixed case, 15-18px body copy, line-height 1.5. Small labels get 12px 500-weight sentence case.",
|
|
21
|
+
"mono": "none. Pill Editorial is a consumer editorial surface — mono has no role.",
|
|
22
|
+
"scale": "1.5 (perfect fifth — deliberately wide contrast so the monumental display shouts and body settles calm)",
|
|
23
|
+
"eyebrow_exception": "The universal slop-blocklist bans mono-caps eyebrows as a general defensive rule. Pill Editorial LEGITIMATELY uses small uppercase 0.2em-tracked 10-12px labels as section eyebrows because the reference site (thefutureinblack.com) genuinely uses them in this exact register — they are part of the modern-editorial vocabulary this base descends from. Every use of a small caps label in this theme is deliberate and reference-anchored, not defensive slop. This is a THEME-SPECIFIC EXCEPTION that must be manually preserved during harness grading.\n"
|
|
24
|
+
},
|
|
25
|
+
surface: "web",
|
|
26
|
+
density: "dense",
|
|
27
|
+
motion: "Ships live in the section renderer (no external dependencies):\n1. Monumental hero headline reveal — the display type fades in from opacity 0 + slight scale(0.96) → 1 over 800ms cubic-bezier(0.19,1,0.22,1) on first paint. No letter-stagger (this is an editorial register, not a marketing register).\n2. LOADING marquee — the \"LOADING\" text on the featured portrait image scrolls horizontally at 40s per loop, continuously (pauses on hover). This IS a legitimate marquee per the reference — spec allows.\n3. Featured pill tiles hover — the rounded pill image tile scales(1.02) + rotates slightly (-1deg) on hover, 220ms cubic-bezier. Reads as \"picking up a physical print off the wall.\"\n4. Card grid stagger — the 5-card recommendation grid fades in with 80ms stagger + 600ms cubic-bezier when scrolled into view.\n5. Newsletter form focus — pill input outline transitions from cream to amber on focus, 200ms.\n6. PLAY AS PRACTICE cartoon SVG — the illustrated character rocks 2deg back and forth on a 3s loop; pauses on hover for readability.\n7. FOR YOU audience-segment cards — hover scales the pill card 1.02 + lifts the internal image scale(1.05), 240ms cubic-bezier.\n8. prefers-reduced-motion: reduce — hero at final scale; LOADING marquee paused; card stagger + hover disabled; cartoon rocking paused. State changes still fire.\n\nCustomer installs these as dependencies for the deeper motion tier:\n- Lenis — smooth inertial scroll (the tall page benefits from inertial cadence).\n- GSAP DrawSVG for the cartoon illustration reveals + monumental headline character animations.\n- Custom preloader with the monumental wordmark drawing letter-by-letter over the black canvas.\n\nMotion character: playful, cultural, tactile. Custom cubic-bezier(0.19,1,0.22,1) for reveals. The register lives between corporate editorial and playful cultural — motion should feel considered but not clinical.\n",
|
|
28
|
+
signature: "Every card, button, tile, image, form input, and nav pill in the\ncomposition ships at 999px border-radius — the FULLY ROUNDED chrome\nis the register's distinguishing structural move. This is the first\ntheme in the library with a non-zero border radius; every previous\ntheme (10 of 10) uses 0px sharp corners. Monumental display type at\n240px (Million reference face; Fraunces 900 free fallback), all-caps,\nbreaking the baseline grid — the display is the primary design\nelement. A featured PORTRAIT PILL TILE at ~600x900px shows the\nstudio's featured subject inside a rounded-pill mask (aspect ratio\n~2:3), with a horizontal LOADING text marquee scrolling across the\nbottom of the image. A big cartoon SVG illustration (a person on a\nbicycle with a bird companion, hand-drawn in cream on black)\nanchors the \"PLAY AS PRACTICE\" motto section. Below, a 5-card grid\nof recommendation pill tiles — each card is a fully-rounded pill\nwith a portrait image at the top, a small colored accent chip, a\ntitle, and a byline. A newsletter capture with an amber pill button.\nA 3-book recommended-reading strip with each book cover in a rounded\npill mask. The composition closes with a monumental \"FOR YOU\"\nheadline and a 3-card audience-segment grid (For Artists / For\nInstitutions / For Your Team) — each card a large rounded pill\ntile with a portrait image and a small accent-chip. Small\nmono-caps 10-12px 0.2em-tracked eyebrow labels are LEGITIMATELY\nUSED here (rare exception to the universal slop-blocklist — see\neyebrow_exception in typography). Brand character sits in the\nrounded chrome, the monumental display, and the editorial\nportraits — not in decoration, not in geometric ornament.\n",
|
|
29
|
+
} as const;
|
|
30
|
+
|
|
31
|
+
export type Tokens = typeof tokens;
|