@stylecrib/cli 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1606 -467
- package/package.json +12 -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/THEME.md +125 -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/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/BUILD_BRIEF.md +171 -0
- package/themes/bento-modular/THEME.md +80 -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/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/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/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/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/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/THEME.md +167 -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/THEME.md +144 -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/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/BUILD_BRIEF.md +156 -0
- package/themes/kinetic-headline/THEME.md +78 -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/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/BUILD_BRIEF.md +158 -0
- package/themes/nature-distilled/THEME.md +81 -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/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/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/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/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/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/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/THEME.md +167 -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/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,167 @@
|
|
|
1
|
+
# Team Kanban
|
|
2
|
+
|
|
3
|
+
> Trello / Notion-anchored kanban-first project-management register — off-white canvas at
|
|
4
|
+
|
|
5
|
+
**Slug:** `team-kanban` — **Surface:** web — **Density:** dense
|
|
6
|
+
|
|
7
|
+
## Influence
|
|
8
|
+
|
|
9
|
+
Modern project-management tools (Trello at its most kanban-first,
|
|
10
|
+
Notion at its most workspace-forward, Height / Asana for density,
|
|
11
|
+
Linear for keyboard-first opinionated design). Distinct from
|
|
12
|
+
developer-tool surfaces through the KANBAN BOARD ANCHOR + MULTI-
|
|
13
|
+
COLOR CARD LABELS + AVATAR STACKS + DUE-DATE BADGES trio — which
|
|
14
|
+
reads as team-collaboration rather than issue-tracker.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Signature move
|
|
18
|
+
|
|
19
|
+
Off-white canvas at #f8f7f4 — the register's non-negotiable base
|
|
20
|
+
(warmer than pure white, cooler than warm cream, Notion-adjacent).
|
|
21
|
+
Warm coral brand accent #ff5a5f used ONLY for the wordmark, primary
|
|
22
|
+
CTAs, hover states, and a signature 'HIGH PRIORITY' badge color.
|
|
23
|
+
MULTI-COLOR card labels (blue / green / yellow / red / purple) are
|
|
24
|
+
LEGITIMATELY used as Kanban card category tags — this is a chrome-
|
|
25
|
+
inventory exception scoped ONLY to the Kanban board. Sharp-ish
|
|
26
|
+
corners (4px on cards, 0px on buttons and structural elements).
|
|
27
|
+
|
|
28
|
+
MASTHEAD — a coral 'CADENCE' wordmark in Inter Display 700 medium
|
|
29
|
+
at 20px on the left, a horizontal nav (Board / Timeline / Roster /
|
|
30
|
+
Retrospectives / Settings) center, a filled coral 'New task'
|
|
31
|
+
button right-aligned. Shrinks after 200px scroll.
|
|
32
|
+
|
|
33
|
+
HERO SPLIT — two-column layout. LEFT: small caps 'CDN-SPRINT-24 ·
|
|
34
|
+
ACTIVE' + big Inter Display headline ('Where the work happens.
|
|
35
|
+
Live.') + body copy + coral 'Create your first board' CTA + link
|
|
36
|
+
'Watch the two-minute tour'. RIGHT: a preview mini kanban board at
|
|
37
|
+
reduced scale showing 3 columns + 2-3 cards each.
|
|
38
|
+
|
|
39
|
+
THE KANBAN BOARD — the SIGNATURE MOVE. A full horizontal Kanban
|
|
40
|
+
board with 4 columns (BACKLOG · 8 · gray column header / IN PROGRESS
|
|
41
|
+
· 3 / 5 WIP · coral column header / REVIEW · 2 · yellow column
|
|
42
|
+
header / DONE · 12 · green column header). Each column contains
|
|
43
|
+
multiple cards with:
|
|
44
|
+
• Multi-color label chips (blue / green / yellow / red / purple)
|
|
45
|
+
• Issue ID in mono (CDN-01 through CDN-25)
|
|
46
|
+
• Card title in Inter Display 500 at 15px
|
|
47
|
+
• Optional checklist progress bar with green fill percentage
|
|
48
|
+
• Optional due-date badge (red for overdue, yellow for imminent)
|
|
49
|
+
• Priority indicator (red HIGH pulses on a 2s loop)
|
|
50
|
+
• Avatar stack (bespoke SVG circular portraits)
|
|
51
|
+
• Story points in mono
|
|
52
|
+
ONE CARD animates every 6 seconds — slides from Backlog to In
|
|
53
|
+
Progress to Review to Done via CSS transform, then returns to
|
|
54
|
+
Backlog and restarts. The In Progress column's WIP counter updates
|
|
55
|
+
live as the card moves.
|
|
56
|
+
|
|
57
|
+
SPRINT METRICS — 3-panel dashboard with:
|
|
58
|
+
• BURNDOWN CHART (goal line drawn first in mute gray, then actual
|
|
59
|
+
line drawn in coral over 1400ms via stroke-dashoffset)
|
|
60
|
+
• VELOCITY panel with counting number (Sprint 24: 47 points) and
|
|
61
|
+
trend indicator (▲ 12% vs Sprint 23)
|
|
62
|
+
• WIP LIMIT panel showing current 3/5 with progress bar
|
|
63
|
+
|
|
64
|
+
TEAM ROSTER — 6 team-member cards with bespoke SVG circular
|
|
65
|
+
avatars, name, role, current-task summary, and status pill
|
|
66
|
+
('Working on CDN-03', 'In review · CDN-08', 'Off · back Monday').
|
|
67
|
+
Cards stagger reveal at 100ms per card.
|
|
68
|
+
|
|
69
|
+
TIMELINE / GANTT VIEW — a mini alternative view showing the same 8
|
|
70
|
+
tasks on a horizontal timeline with day markers, task bars sliding
|
|
71
|
+
in from left with 80ms per-bar stagger. Task bars use the same
|
|
72
|
+
multi-color labels as the Kanban cards.
|
|
73
|
+
|
|
74
|
+
RETROSPECTIVE CALLOUT — quote-style summary card 'Sprint 24: 47
|
|
75
|
+
points shipped. 3 blockers. 1 hot-fix. Team velocity up 12% Q/Q.'
|
|
76
|
+
in a large Inter Display italic pull quote with team-lead attribution.
|
|
77
|
+
|
|
78
|
+
PRICING TIERS — 3-tier grid (Free / Team / Enterprise) with feature
|
|
79
|
+
lists and coral highlight on the recommended Team tier.
|
|
80
|
+
|
|
81
|
+
FOOTER — dark inverted band with 'CADENCE' wordmark at ~120px,
|
|
82
|
+
4-column utility grid, and a small SOC 2 badge in the corner.
|
|
83
|
+
|
|
84
|
+
Six bespoke SVG marks (kanban-board icon, priority-flag, checklist-
|
|
85
|
+
bar, avatar-stack, timeline-marker, sprint-burndown-chart) drop as
|
|
86
|
+
PUNCTUATION at specific compositional moments, never as a uniform
|
|
87
|
+
icon row.
|
|
88
|
+
|
|
89
|
+
## Palette
|
|
90
|
+
|
|
91
|
+
- **bg:** `#f8f7f4`
|
|
92
|
+
- **surface:** `#ffffff`
|
|
93
|
+
- **ink:** `#2a2a2a`
|
|
94
|
+
- **accent:** `#ff5a5f`
|
|
95
|
+
|
|
96
|
+
## Typography
|
|
97
|
+
|
|
98
|
+
- **Display:** A modern geometric sans at medium-bold weight — Inter Display / Söhne. Free fallback stack — "Inter Display", "Inter", "Söhne", "Space Grotesk", system-ui, sans-serif. Weight 500-700, mixed case, letter-spacing -0.02em. Top of scale ~72px hero, 40px section headings, 20px card titles.
|
|
99
|
+
- **Body:** A clean sans for body copy and card content — Inter / system-ui. Free fallback stack — "Inter", "Söhne", system-ui, sans-serif. Weight 400 for body copy, 500 for card labels, 600 for column headers. 14-15px body copy, line-height 1.55.
|
|
100
|
+
- **Mono:** JetBrains Mono / IBM Plex Mono for issue IDs (CDN-01, CDN-02), story points, and sprint metrics. Weight 400-500, 11-13px. LEGITIMATE here because Kanban cards genuinely display issue IDs.
|
|
101
|
+
- **Scale:** 1.25 (perfect fourth — comfortable for dense card UI)
|
|
102
|
+
|
|
103
|
+
## Motion
|
|
104
|
+
|
|
105
|
+
Ships live in the section renderer (no external dependencies):
|
|
106
|
+
1. Hero + kanban board reveal on paint — headline fades in with 800ms cubic-bezier(0.23,1,0.32,1), then the kanban board fades in 200ms later.
|
|
107
|
+
2. Card cycling animation — one card in the Kanban board cycles between columns every 6 seconds: it slides from Backlog → In Progress → Review → Done via CSS transform + transition, then returns to Backlog and restarts. The WIP counter in the In Progress column header updates to reflect the moving card.
|
|
108
|
+
3. Sprint burndown chart — line draws via stroke-dashoffset over 1400ms cubic-bezier on IntersectionObserver visibility at 40% threshold. Goal line and actual line draw sequentially (goal first at 800ms, actual at 1400ms).
|
|
109
|
+
4. Team roster stagger reveal — 6 team-member cards fade in with 100ms per-card stagger on scroll into view.
|
|
110
|
+
5. Timeline bars slide-in — 8 timeline task bars slide in from left with 80ms per-bar stagger on scroll.
|
|
111
|
+
6. Priority badges pulse — HIGH PRIORITY badges scale from 1 → 1.05 → 1 on a 2s loop (subtle attention pull for urgent tasks).
|
|
112
|
+
7. Sprint velocity counter — count up 0 → target on scroll into view via requestAnimationFrame, 1600ms ease-out.
|
|
113
|
+
8. Section reveals — each below-fold section fades in over 700ms cubic-bezier on IntersectionObserver at 25% threshold.
|
|
114
|
+
9. Nav shrink on scroll after 200px.
|
|
115
|
+
10. prefers-reduced-motion: reduce — card cycling paused; chart shows at full stroke; badges paused; state changes still fire.
|
|
116
|
+
|
|
117
|
+
Motion character: kinetic, team-collaboration, live-workspace. Custom cubic-bezier(0.23,1,0.32,1) for reveals + cubic-bezier(0.65, 0, 0.35, 1) for card movements. Reads as a working PM tool, not a marketing page.
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
## Imagery
|
|
121
|
+
|
|
122
|
+
BESPOKE SVG diagrams and icons — the reference uses flat card UI,
|
|
123
|
+
SVG avatars (circle-portraits with team-color backgrounds), and
|
|
124
|
+
minimalist column indicators. FPO imagery here should read as
|
|
125
|
+
considered PM UI (flat cards, circular SVG avatars with warm skin
|
|
126
|
+
tones, subtle status pills). NO stock 'diverse team collaborating
|
|
127
|
+
around a whiteboard' photography (that's the AI-tell for corporate
|
|
128
|
+
PM slop). NO 3D-rendered UI mockups. NO radial-gradient placeholder
|
|
129
|
+
fills.
|
|
130
|
+
|
|
131
|
+
## Best for
|
|
132
|
+
|
|
133
|
+
- Project management tools (kanban / issue tracker / roadmap)
|
|
134
|
+
- Team collaboration platforms and productivity SaaS
|
|
135
|
+
- Software engineering team dashboards
|
|
136
|
+
- Design ops platforms and creative-team workflow tools
|
|
137
|
+
- Boutique PM tools targeting design teams / creative agencies
|
|
138
|
+
- Remote-team collaboration hubs
|
|
139
|
+
|
|
140
|
+
## Reject if
|
|
141
|
+
|
|
142
|
+
_Director grades each of the following as a pass/fail check. Any violation blocks the theme._
|
|
143
|
+
|
|
144
|
+
- Dark canvas — Team Kanban's canvas is OFF-WHITE at #f8f7f4. Dark canvas inverts the kanban-first PM register into a developer-issue-tracker register (Linear-adjacent, different theme).
|
|
145
|
+
- Pure white canvas — #f8f7f4 is deliberately WARMER than pure white, matching Notion's page-background register. Pure white kills the specific warmth this base carries.
|
|
146
|
+
- Serif display — the register requires modern GEOMETRIC SANS. Serif display collapses into editorial territory.
|
|
147
|
+
- Multi-color palette beyond the SCOPED CARD-LABEL exception — the 5-color card label palette is LEGITIMATELY scoped to the Kanban board only. Introducing multi-color as brand accent, hero decoration, or section-background flood collapses the discipline into candy slop.
|
|
148
|
+
- Fully-rounded pill corners on cards — cards use SMALL rounded corners (4px) NOT 999px pill. Buttons and column headers stay at 0px radius. 999px pills anywhere on this register kill the kanban-board reading.
|
|
149
|
+
- Stock team-collaboration photography — imagery MUST feel like considered SVG PM UI (flat cards, circular SVG avatars, subtle status pills). Stock team-around-whiteboard photography is the AI-tell for corporate PM slop.
|
|
150
|
+
- 3D-rendered UI mockups — visuals must be flat SVG UI elements. 3D renders read as consumer-tech launch.
|
|
151
|
+
- Emoji task icons ✅ 🎯 📌 — bespoke SVG only for icons. Emoji is the biggest AI-tell for corporate-PM slop.
|
|
152
|
+
- Marketing-loud copy language ('supercharge your team', 'unlock productivity', 'game-changing collaboration') — the register requires PM-tool voice. Marketing-loud copy collapses into startup slop.
|
|
153
|
+
- Cycling headline words or ticker bars — the LIVE motion is the CARD CYCLING animation only. Auto-advancing headline sliders collapse into marketing slop.
|
|
154
|
+
|
|
155
|
+
## Banned defaults (inherited + theme-specific)
|
|
156
|
+
|
|
157
|
+
- claude-cream (#F4F1EA + serif + #D97757) — this theme's canvas is #f8f7f4, cooler than claude-cream.
|
|
158
|
+
- void+acid
|
|
159
|
+
- broadsheet-on-noneditorial
|
|
160
|
+
- tech-bro purple gradient
|
|
161
|
+
- uniform-everything
|
|
162
|
+
- dark-canvas-inversion (canvas is off-white. Swapping to dark inverts into Linear-adjacent developer register.)
|
|
163
|
+
- serif-display-anywhere (register requires modern geometric sans. Serif display collapses into editorial territory.)
|
|
164
|
+
- multi-color-outside-labels (5-color palette is SCOPED to Kanban card labels only. Introducing multi-color as brand accent or section flood collapses the discipline.)
|
|
165
|
+
- pill-card-corners (cards use 4px small-rounded corners, NOT 999px pills. 999px pills kill the Kanban board reading.)
|
|
166
|
+
- stock-collab-photography (imagery must be flat SVG PM UI. Stock team-around-whiteboard is the AI-tell.)
|
|
167
|
+
- emoji-task-icons (bespoke SVG only. Emoji is the biggest AI-tell for corporate PM slop.)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Generated from theme.yml. Merge into your tailwind.config.ts under theme.extend.
|
|
2
|
+
// slug: team-kanban
|
|
3
|
+
export const teamKanbanTailwindExtend = {
|
|
4
|
+
colors: {
|
|
5
|
+
bg: "#f8f7f4",
|
|
6
|
+
surface: "#ffffff",
|
|
7
|
+
ink: "#2a2a2a",
|
|
8
|
+
accent: "#ff5a5f",
|
|
9
|
+
},
|
|
10
|
+
fontFamily: {
|
|
11
|
+
display: ["A modern geometric sans at medium-bold weight — Inter Display / Söhne. Free fallback stack — \"Inter Display\", \"Inter\", \"Söhne\", \"Space Grotesk\", system-ui, sans-serif. Weight 500-700, mixed case, letter-spacing -0.02em. Top of scale ~72px hero, 40px section headings, 20px card titles."],
|
|
12
|
+
body: ["A clean sans for body copy and card content — Inter / system-ui. Free fallback stack — \"Inter\", \"Söhne\", system-ui, sans-serif. Weight 400 for body copy, 500 for card labels, 600 for column headers. 14-15px body copy, line-height 1.55."],
|
|
13
|
+
mono: ["JetBrains Mono / IBM Plex Mono for issue IDs (CDN-01, CDN-02), story points, and sprint metrics. Weight 400-500, 11-13px. LEGITIMATE here because Kanban cards genuinely display issue IDs."],
|
|
14
|
+
},
|
|
15
|
+
};
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Team Kanban — Family D, Contemporary Web (project-management subregion).
|
|
2
|
+
#
|
|
3
|
+
# Trello / Notion-anchored kanban-first project-management register.
|
|
4
|
+
# Off-white canvas (#f8f7f4) + warm coral brand accent (#ff5a5f) +
|
|
5
|
+
# MULTI-COLOR CARD LABELS (blue / green / yellow / red / purple) —
|
|
6
|
+
# multi-color labels are a THEME-SPECIFIC EXCEPTION to the general
|
|
7
|
+
# single-accent discipline because Kanban boards genuinely require
|
|
8
|
+
# color-coded labels to work as project-management tools. Geometric
|
|
9
|
+
# sans (Inter Display) + system-ui body + JetBrains Mono for issue IDs.
|
|
10
|
+
# Sharp-ish corners (4px on cards, 0px elsewhere).
|
|
11
|
+
#
|
|
12
|
+
# Influence anchor: Trello + Notion at their most kanban-forward, with
|
|
13
|
+
# Height / Asana density added. Placeholder brand: "CADENCE" — a
|
|
14
|
+
# fictional project-management tool. Original name, original copy.
|
|
15
|
+
#
|
|
16
|
+
# Distinct from other Family D bases:
|
|
17
|
+
# - Signal Dark is dashboard/tool with green terminal accent
|
|
18
|
+
# - Arc Stack is protocol infrastructure with saturated signal-glow
|
|
19
|
+
# - Kinetic Headline is kinetic-marketing display
|
|
20
|
+
# - Bento Modular is grid-driven dashboard
|
|
21
|
+
# - Enterprise Tech is Palantir institutional dark cyan
|
|
22
|
+
# - Nature Distilled is earthy grounded warmth
|
|
23
|
+
# - Fresh Plate is cleantech monochrome forest
|
|
24
|
+
# Team Kanban fills the KANBAN-FIRST PM slot — the literal kanban
|
|
25
|
+
# board is the composition's signature move.
|
|
26
|
+
#
|
|
27
|
+
# Twenty-first theme via the v2 harness. Sixth Family D theme.
|
|
28
|
+
# Upgrade of the existing v1 archetype-fallback slug.
|
|
29
|
+
|
|
30
|
+
name: Team Kanban
|
|
31
|
+
concept: Trello / Notion-anchored kanban-first project-management register — off-white canvas at #f8f7f4 with warm coral brand accent and MULTI-COLOR card labels (blue / green / yellow / red / purple) as a Kanban chrome-inventory exception. Geometric sans display (Inter Display) + JetBrains Mono for issue IDs. Full horizontal kanban board with 4 columns (Backlog / In Progress / Review / Done), each card carrying label chips, avatar stacks, due-date badges, checklist progress bars, priority indicators. Live card-move animation every 6 seconds (a card slides from one column to another via CSS transform), WIP counter updates as card moves, sprint burndown chart draws via stroke-dashoffset, team roster with bespoke SVG avatars, timeline / Gantt mini view.
|
|
32
|
+
influence: |
|
|
33
|
+
Modern project-management tools (Trello at its most kanban-first,
|
|
34
|
+
Notion at its most workspace-forward, Height / Asana for density,
|
|
35
|
+
Linear for keyboard-first opinionated design). Distinct from
|
|
36
|
+
developer-tool surfaces through the KANBAN BOARD ANCHOR + MULTI-
|
|
37
|
+
COLOR CARD LABELS + AVATAR STACKS + DUE-DATE BADGES trio — which
|
|
38
|
+
reads as team-collaboration rather than issue-tracker.
|
|
39
|
+
|
|
40
|
+
family: D
|
|
41
|
+
base_number: 37
|
|
42
|
+
base_note: |
|
|
43
|
+
Family D Contemporary Web, PROJECT-MANAGEMENT slot. Distinct from
|
|
44
|
+
other Family D bases through the KANBAN BOARD signature move (full
|
|
45
|
+
horizontal board is the hero — not a chart, not a spec grid) +
|
|
46
|
+
MULTI-COLOR CARD LABEL exception. Enterprise Tech is Palantir
|
|
47
|
+
cyan institutional; Signal Dark is dashboard/tool with terminal
|
|
48
|
+
green; Bento Modular is dashboard grid. Team Kanban fills the
|
|
49
|
+
kanban-first PM slot. Upgrade of the existing v1 team-kanban slug
|
|
50
|
+
from archetype-fallback.
|
|
51
|
+
|
|
52
|
+
render_url: http://localhost:5173/themes/team-kanban
|
|
53
|
+
|
|
54
|
+
surface: web
|
|
55
|
+
|
|
56
|
+
typography:
|
|
57
|
+
display: A modern geometric sans at medium-bold weight — Inter Display / Söhne. Free fallback stack — "Inter Display", "Inter", "Söhne", "Space Grotesk", system-ui, sans-serif. Weight 500-700, mixed case, letter-spacing -0.02em. Top of scale ~72px hero, 40px section headings, 20px card titles.
|
|
58
|
+
body: A clean sans for body copy and card content — Inter / system-ui. Free fallback stack — "Inter", "Söhne", system-ui, sans-serif. Weight 400 for body copy, 500 for card labels, 600 for column headers. 14-15px body copy, line-height 1.55.
|
|
59
|
+
mono: JetBrains Mono / IBM Plex Mono for issue IDs (CDN-01, CDN-02), story points, and sprint metrics. Weight 400-500, 11-13px. LEGITIMATE here because Kanban cards genuinely display issue IDs.
|
|
60
|
+
scale: 1.25 (perfect fourth — comfortable for dense card UI)
|
|
61
|
+
eyebrow_exception: |
|
|
62
|
+
Team Kanban LEGITIMATELY uses small-caps 0.14em-tracked 10-11px labels for KANBAN COLUMN HEADERS ('BACKLOG · 8', 'IN PROGRESS · 3 / 5 WIP', 'REVIEW · 2', 'DONE') and STATUS PILL LABELS ('IN REVIEW', 'BLOCKED', 'READY'). This is a THEME-SPECIFIC EXCEPTION — kanban column headers use these EXACTLY in this register as diegetic PM chrome, not decorative eyebrow slop.
|
|
63
|
+
multi_color_exception: |
|
|
64
|
+
Team Kanban LEGITIMATELY uses a 5-color CARD LABEL palette (blue #3d5afe / green #22c55e / yellow #fbbf24 / red #ef4444 / purple #a855f7) as CARD CATEGORY TAGS — this is a THEME-SPECIFIC EXCEPTION to the general single-accent discipline because Kanban boards require color-coded labels to work as project-management tools. The BRAND accent is coral (#ff5a5f) and is used ONLY for the brand wordmark, primary CTAs, and hover states — the multi-color palette is scoped ONLY to card labels within the Kanban board.
|
|
65
|
+
|
|
66
|
+
palette:
|
|
67
|
+
bg: "#f8f7f4" # off-white canvas — warm undertone (Notion-adjacent)
|
|
68
|
+
surface: "#ffffff" # white raised card
|
|
69
|
+
ink: "#2a2a2a" # warm near-black
|
|
70
|
+
accent: "#ff5a5f" # coral brand accent — wordmark + CTA + hover
|
|
71
|
+
cream: "#f8f7f4" # alias for bg
|
|
72
|
+
darkInk: "#0f0f0f" # deepest black for masthead
|
|
73
|
+
mute: "#7a7570" # dimmed for captions
|
|
74
|
+
labelBlue: "#3d5afe" # Kanban card label — blue
|
|
75
|
+
labelGreen: "#22c55e" # Kanban card label — green
|
|
76
|
+
labelYellow: "#fbbf24" # Kanban card label — yellow
|
|
77
|
+
labelRed: "#ef4444" # Kanban card label — red
|
|
78
|
+
labelPurple: "#a855f7" # Kanban card label — purple
|
|
79
|
+
|
|
80
|
+
density: dense
|
|
81
|
+
|
|
82
|
+
motion: |
|
|
83
|
+
Ships live in the section renderer (no external dependencies):
|
|
84
|
+
1. Hero + kanban board reveal on paint — headline fades in with 800ms cubic-bezier(0.23,1,0.32,1), then the kanban board fades in 200ms later.
|
|
85
|
+
2. Card cycling animation — one card in the Kanban board cycles between columns every 6 seconds: it slides from Backlog → In Progress → Review → Done via CSS transform + transition, then returns to Backlog and restarts. The WIP counter in the In Progress column header updates to reflect the moving card.
|
|
86
|
+
3. Sprint burndown chart — line draws via stroke-dashoffset over 1400ms cubic-bezier on IntersectionObserver visibility at 40% threshold. Goal line and actual line draw sequentially (goal first at 800ms, actual at 1400ms).
|
|
87
|
+
4. Team roster stagger reveal — 6 team-member cards fade in with 100ms per-card stagger on scroll into view.
|
|
88
|
+
5. Timeline bars slide-in — 8 timeline task bars slide in from left with 80ms per-bar stagger on scroll.
|
|
89
|
+
6. Priority badges pulse — HIGH PRIORITY badges scale from 1 → 1.05 → 1 on a 2s loop (subtle attention pull for urgent tasks).
|
|
90
|
+
7. Sprint velocity counter — count up 0 → target on scroll into view via requestAnimationFrame, 1600ms ease-out.
|
|
91
|
+
8. Section reveals — each below-fold section fades in over 700ms cubic-bezier on IntersectionObserver at 25% threshold.
|
|
92
|
+
9. Nav shrink on scroll after 200px.
|
|
93
|
+
10. prefers-reduced-motion: reduce — card cycling paused; chart shows at full stroke; badges paused; state changes still fire.
|
|
94
|
+
|
|
95
|
+
Motion character: kinetic, team-collaboration, live-workspace. Custom cubic-bezier(0.23,1,0.32,1) for reveals + cubic-bezier(0.65, 0, 0.35, 1) for card movements. Reads as a working PM tool, not a marketing page.
|
|
96
|
+
|
|
97
|
+
signature: |
|
|
98
|
+
Off-white canvas at #f8f7f4 — the register's non-negotiable base
|
|
99
|
+
(warmer than pure white, cooler than warm cream, Notion-adjacent).
|
|
100
|
+
Warm coral brand accent #ff5a5f used ONLY for the wordmark, primary
|
|
101
|
+
CTAs, hover states, and a signature 'HIGH PRIORITY' badge color.
|
|
102
|
+
MULTI-COLOR card labels (blue / green / yellow / red / purple) are
|
|
103
|
+
LEGITIMATELY used as Kanban card category tags — this is a chrome-
|
|
104
|
+
inventory exception scoped ONLY to the Kanban board. Sharp-ish
|
|
105
|
+
corners (4px on cards, 0px on buttons and structural elements).
|
|
106
|
+
|
|
107
|
+
MASTHEAD — a coral 'CADENCE' wordmark in Inter Display 700 medium
|
|
108
|
+
at 20px on the left, a horizontal nav (Board / Timeline / Roster /
|
|
109
|
+
Retrospectives / Settings) center, a filled coral 'New task'
|
|
110
|
+
button right-aligned. Shrinks after 200px scroll.
|
|
111
|
+
|
|
112
|
+
HERO SPLIT — two-column layout. LEFT: small caps 'CDN-SPRINT-24 ·
|
|
113
|
+
ACTIVE' + big Inter Display headline ('Where the work happens.
|
|
114
|
+
Live.') + body copy + coral 'Create your first board' CTA + link
|
|
115
|
+
'Watch the two-minute tour'. RIGHT: a preview mini kanban board at
|
|
116
|
+
reduced scale showing 3 columns + 2-3 cards each.
|
|
117
|
+
|
|
118
|
+
THE KANBAN BOARD — the SIGNATURE MOVE. A full horizontal Kanban
|
|
119
|
+
board with 4 columns (BACKLOG · 8 · gray column header / IN PROGRESS
|
|
120
|
+
· 3 / 5 WIP · coral column header / REVIEW · 2 · yellow column
|
|
121
|
+
header / DONE · 12 · green column header). Each column contains
|
|
122
|
+
multiple cards with:
|
|
123
|
+
• Multi-color label chips (blue / green / yellow / red / purple)
|
|
124
|
+
• Issue ID in mono (CDN-01 through CDN-25)
|
|
125
|
+
• Card title in Inter Display 500 at 15px
|
|
126
|
+
• Optional checklist progress bar with green fill percentage
|
|
127
|
+
• Optional due-date badge (red for overdue, yellow for imminent)
|
|
128
|
+
• Priority indicator (red HIGH pulses on a 2s loop)
|
|
129
|
+
• Avatar stack (bespoke SVG circular portraits)
|
|
130
|
+
• Story points in mono
|
|
131
|
+
ONE CARD animates every 6 seconds — slides from Backlog to In
|
|
132
|
+
Progress to Review to Done via CSS transform, then returns to
|
|
133
|
+
Backlog and restarts. The In Progress column's WIP counter updates
|
|
134
|
+
live as the card moves.
|
|
135
|
+
|
|
136
|
+
SPRINT METRICS — 3-panel dashboard with:
|
|
137
|
+
• BURNDOWN CHART (goal line drawn first in mute gray, then actual
|
|
138
|
+
line drawn in coral over 1400ms via stroke-dashoffset)
|
|
139
|
+
• VELOCITY panel with counting number (Sprint 24: 47 points) and
|
|
140
|
+
trend indicator (▲ 12% vs Sprint 23)
|
|
141
|
+
• WIP LIMIT panel showing current 3/5 with progress bar
|
|
142
|
+
|
|
143
|
+
TEAM ROSTER — 6 team-member cards with bespoke SVG circular
|
|
144
|
+
avatars, name, role, current-task summary, and status pill
|
|
145
|
+
('Working on CDN-03', 'In review · CDN-08', 'Off · back Monday').
|
|
146
|
+
Cards stagger reveal at 100ms per card.
|
|
147
|
+
|
|
148
|
+
TIMELINE / GANTT VIEW — a mini alternative view showing the same 8
|
|
149
|
+
tasks on a horizontal timeline with day markers, task bars sliding
|
|
150
|
+
in from left with 80ms per-bar stagger. Task bars use the same
|
|
151
|
+
multi-color labels as the Kanban cards.
|
|
152
|
+
|
|
153
|
+
RETROSPECTIVE CALLOUT — quote-style summary card 'Sprint 24: 47
|
|
154
|
+
points shipped. 3 blockers. 1 hot-fix. Team velocity up 12% Q/Q.'
|
|
155
|
+
in a large Inter Display italic pull quote with team-lead attribution.
|
|
156
|
+
|
|
157
|
+
PRICING TIERS — 3-tier grid (Free / Team / Enterprise) with feature
|
|
158
|
+
lists and coral highlight on the recommended Team tier.
|
|
159
|
+
|
|
160
|
+
FOOTER — dark inverted band with 'CADENCE' wordmark at ~120px,
|
|
161
|
+
4-column utility grid, and a small SOC 2 badge in the corner.
|
|
162
|
+
|
|
163
|
+
Six bespoke SVG marks (kanban-board icon, priority-flag, checklist-
|
|
164
|
+
bar, avatar-stack, timeline-marker, sprint-burndown-chart) drop as
|
|
165
|
+
PUNCTUATION at specific compositional moments, never as a uniform
|
|
166
|
+
icon row.
|
|
167
|
+
|
|
168
|
+
imagery: |
|
|
169
|
+
BESPOKE SVG diagrams and icons — the reference uses flat card UI,
|
|
170
|
+
SVG avatars (circle-portraits with team-color backgrounds), and
|
|
171
|
+
minimalist column indicators. FPO imagery here should read as
|
|
172
|
+
considered PM UI (flat cards, circular SVG avatars with warm skin
|
|
173
|
+
tones, subtle status pills). NO stock 'diverse team collaborating
|
|
174
|
+
around a whiteboard' photography (that's the AI-tell for corporate
|
|
175
|
+
PM slop). NO 3D-rendered UI mockups. NO radial-gradient placeholder
|
|
176
|
+
fills.
|
|
177
|
+
|
|
178
|
+
best_for:
|
|
179
|
+
- Project management tools (kanban / issue tracker / roadmap)
|
|
180
|
+
- Team collaboration platforms and productivity SaaS
|
|
181
|
+
- Software engineering team dashboards
|
|
182
|
+
- Design ops platforms and creative-team workflow tools
|
|
183
|
+
- Boutique PM tools targeting design teams / creative agencies
|
|
184
|
+
- Remote-team collaboration hubs
|
|
185
|
+
|
|
186
|
+
avoid:
|
|
187
|
+
- "Dark canvas — Team Kanban's canvas is OFF-WHITE at #f8f7f4. Dark canvas inverts the kanban-first PM register into a developer-issue-tracker register (Linear-adjacent, different theme)."
|
|
188
|
+
- "Pure white canvas — #f8f7f4 is deliberately WARMER than pure white, matching Notion's page-background register. Pure white kills the specific warmth this base carries."
|
|
189
|
+
- "Serif display — the register requires modern GEOMETRIC SANS. Serif display collapses into editorial territory."
|
|
190
|
+
- "Multi-color palette beyond the SCOPED CARD-LABEL exception — the 5-color card label palette is LEGITIMATELY scoped to the Kanban board only. Introducing multi-color as brand accent, hero decoration, or section-background flood collapses the discipline into candy slop."
|
|
191
|
+
- "Fully-rounded pill corners on cards — cards use SMALL rounded corners (4px) NOT 999px pill. Buttons and column headers stay at 0px radius. 999px pills anywhere on this register kill the kanban-board reading."
|
|
192
|
+
- "Stock team-collaboration photography — imagery MUST feel like considered SVG PM UI (flat cards, circular SVG avatars, subtle status pills). Stock team-around-whiteboard photography is the AI-tell for corporate PM slop."
|
|
193
|
+
- "3D-rendered UI mockups — visuals must be flat SVG UI elements. 3D renders read as consumer-tech launch."
|
|
194
|
+
- "Emoji task icons ✅ 🎯 📌 — bespoke SVG only for icons. Emoji is the biggest AI-tell for corporate-PM slop."
|
|
195
|
+
- "Marketing-loud copy language ('supercharge your team', 'unlock productivity', 'game-changing collaboration') — the register requires PM-tool voice. Marketing-loud copy collapses into startup slop."
|
|
196
|
+
- "Cycling headline words or ticker bars — the LIVE motion is the CARD CYCLING animation only. Auto-advancing headline sliders collapse into marketing slop."
|
|
197
|
+
|
|
198
|
+
banned_defaults:
|
|
199
|
+
- "claude-cream (#F4F1EA + serif + #D97757) — this theme's canvas is #f8f7f4, cooler than claude-cream."
|
|
200
|
+
- "void+acid"
|
|
201
|
+
- "broadsheet-on-noneditorial"
|
|
202
|
+
- "tech-bro purple gradient"
|
|
203
|
+
- "uniform-everything"
|
|
204
|
+
- "dark-canvas-inversion (canvas is off-white. Swapping to dark inverts into Linear-adjacent developer register.)"
|
|
205
|
+
- "serif-display-anywhere (register requires modern geometric sans. Serif display collapses into editorial territory.)"
|
|
206
|
+
- "multi-color-outside-labels (5-color palette is SCOPED to Kanban card labels only. Introducing multi-color as brand accent or section flood collapses the discipline.)"
|
|
207
|
+
- "pill-card-corners (cards use 4px small-rounded corners, NOT 999px pills. 999px pills kill the Kanban board reading.)"
|
|
208
|
+
- "stock-collab-photography (imagery must be flat SVG PM UI. Stock team-around-whiteboard is the AI-tell.)"
|
|
209
|
+
- "emoji-task-icons (bespoke SVG only. Emoji is the biggest AI-tell for corporate PM slop.)"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Generated from theme.yml. Do not edit by hand — edit theme.yml + re-materialize.
|
|
2
|
+
|
|
3
|
+
export const tokens = {
|
|
4
|
+
slug: "team-kanban",
|
|
5
|
+
family: "D",
|
|
6
|
+
base: "37",
|
|
7
|
+
palette: {
|
|
8
|
+
"bg": "#f8f7f4",
|
|
9
|
+
"surface": "#ffffff",
|
|
10
|
+
"ink": "#2a2a2a",
|
|
11
|
+
"accent": "#ff5a5f",
|
|
12
|
+
"cream": "#f8f7f4",
|
|
13
|
+
"darkInk": "#0f0f0f",
|
|
14
|
+
"mute": "#7a7570",
|
|
15
|
+
"labelBlue": "#3d5afe",
|
|
16
|
+
"labelGreen": "#22c55e",
|
|
17
|
+
"labelYellow": "#fbbf24",
|
|
18
|
+
"labelRed": "#ef4444",
|
|
19
|
+
"labelPurple": "#a855f7"
|
|
20
|
+
},
|
|
21
|
+
typography: {
|
|
22
|
+
"display": "A modern geometric sans at medium-bold weight — Inter Display / Söhne. Free fallback stack — \"Inter Display\", \"Inter\", \"Söhne\", \"Space Grotesk\", system-ui, sans-serif. Weight 500-700, mixed case, letter-spacing -0.02em. Top of scale ~72px hero, 40px section headings, 20px card titles.",
|
|
23
|
+
"body": "A clean sans for body copy and card content — Inter / system-ui. Free fallback stack — \"Inter\", \"Söhne\", system-ui, sans-serif. Weight 400 for body copy, 500 for card labels, 600 for column headers. 14-15px body copy, line-height 1.55.",
|
|
24
|
+
"mono": "JetBrains Mono / IBM Plex Mono for issue IDs (CDN-01, CDN-02), story points, and sprint metrics. Weight 400-500, 11-13px. LEGITIMATE here because Kanban cards genuinely display issue IDs.",
|
|
25
|
+
"scale": "1.25 (perfect fourth — comfortable for dense card UI)",
|
|
26
|
+
"eyebrow_exception": "Team Kanban LEGITIMATELY uses small-caps 0.14em-tracked 10-11px labels for KANBAN COLUMN HEADERS ('BACKLOG · 8', 'IN PROGRESS · 3 / 5 WIP', 'REVIEW · 2', 'DONE') and STATUS PILL LABELS ('IN REVIEW', 'BLOCKED', 'READY'). This is a THEME-SPECIFIC EXCEPTION — kanban column headers use these EXACTLY in this register as diegetic PM chrome, not decorative eyebrow slop.\n",
|
|
27
|
+
"multi_color_exception": "Team Kanban LEGITIMATELY uses a 5-color CARD LABEL palette (blue #3d5afe / green #22c55e / yellow #fbbf24 / red #ef4444 / purple #a855f7) as CARD CATEGORY TAGS — this is a THEME-SPECIFIC EXCEPTION to the general single-accent discipline because Kanban boards require color-coded labels to work as project-management tools. The BRAND accent is coral (#ff5a5f) and is used ONLY for the brand wordmark, primary CTAs, and hover states — the multi-color palette is scoped ONLY to card labels within the Kanban board.\n"
|
|
28
|
+
},
|
|
29
|
+
surface: "web",
|
|
30
|
+
density: "dense",
|
|
31
|
+
motion: "Ships live in the section renderer (no external dependencies):\n1. Hero + kanban board reveal on paint — headline fades in with 800ms cubic-bezier(0.23,1,0.32,1), then the kanban board fades in 200ms later.\n2. Card cycling animation — one card in the Kanban board cycles between columns every 6 seconds: it slides from Backlog → In Progress → Review → Done via CSS transform + transition, then returns to Backlog and restarts. The WIP counter in the In Progress column header updates to reflect the moving card.\n3. Sprint burndown chart — line draws via stroke-dashoffset over 1400ms cubic-bezier on IntersectionObserver visibility at 40% threshold. Goal line and actual line draw sequentially (goal first at 800ms, actual at 1400ms).\n4. Team roster stagger reveal — 6 team-member cards fade in with 100ms per-card stagger on scroll into view.\n5. Timeline bars slide-in — 8 timeline task bars slide in from left with 80ms per-bar stagger on scroll.\n6. Priority badges pulse — HIGH PRIORITY badges scale from 1 → 1.05 → 1 on a 2s loop (subtle attention pull for urgent tasks).\n7. Sprint velocity counter — count up 0 → target on scroll into view via requestAnimationFrame, 1600ms ease-out.\n8. Section reveals — each below-fold section fades in over 700ms cubic-bezier on IntersectionObserver at 25% threshold.\n9. Nav shrink on scroll after 200px.\n10. prefers-reduced-motion: reduce — card cycling paused; chart shows at full stroke; badges paused; state changes still fire.\n\nMotion character: kinetic, team-collaboration, live-workspace. Custom cubic-bezier(0.23,1,0.32,1) for reveals + cubic-bezier(0.65, 0, 0.35, 1) for card movements. Reads as a working PM tool, not a marketing page.\n",
|
|
32
|
+
signature: "Off-white canvas at #f8f7f4 — the register's non-negotiable base\n(warmer than pure white, cooler than warm cream, Notion-adjacent).\nWarm coral brand accent #ff5a5f used ONLY for the wordmark, primary\nCTAs, hover states, and a signature 'HIGH PRIORITY' badge color.\nMULTI-COLOR card labels (blue / green / yellow / red / purple) are\nLEGITIMATELY used as Kanban card category tags — this is a chrome-\ninventory exception scoped ONLY to the Kanban board. Sharp-ish\ncorners (4px on cards, 0px on buttons and structural elements).\n\nMASTHEAD — a coral 'CADENCE' wordmark in Inter Display 700 medium\nat 20px on the left, a horizontal nav (Board / Timeline / Roster /\nRetrospectives / Settings) center, a filled coral 'New task'\nbutton right-aligned. Shrinks after 200px scroll.\n\nHERO SPLIT — two-column layout. LEFT: small caps 'CDN-SPRINT-24 ·\nACTIVE' + big Inter Display headline ('Where the work happens.\nLive.') + body copy + coral 'Create your first board' CTA + link\n'Watch the two-minute tour'. RIGHT: a preview mini kanban board at\nreduced scale showing 3 columns + 2-3 cards each.\n\nTHE KANBAN BOARD — the SIGNATURE MOVE. A full horizontal Kanban\nboard with 4 columns (BACKLOG · 8 · gray column header / IN PROGRESS\n· 3 / 5 WIP · coral column header / REVIEW · 2 · yellow column\nheader / DONE · 12 · green column header). Each column contains\nmultiple cards with:\n • Multi-color label chips (blue / green / yellow / red / purple)\n • Issue ID in mono (CDN-01 through CDN-25)\n • Card title in Inter Display 500 at 15px\n • Optional checklist progress bar with green fill percentage\n • Optional due-date badge (red for overdue, yellow for imminent)\n • Priority indicator (red HIGH pulses on a 2s loop)\n • Avatar stack (bespoke SVG circular portraits)\n • Story points in mono\nONE CARD animates every 6 seconds — slides from Backlog to In\nProgress to Review to Done via CSS transform, then returns to\nBacklog and restarts. The In Progress column's WIP counter updates\nlive as the card moves.\n\nSPRINT METRICS — 3-panel dashboard with:\n • BURNDOWN CHART (goal line drawn first in mute gray, then actual\n line drawn in coral over 1400ms via stroke-dashoffset)\n • VELOCITY panel with counting number (Sprint 24: 47 points) and\n trend indicator (▲ 12% vs Sprint 23)\n • WIP LIMIT panel showing current 3/5 with progress bar\n\nTEAM ROSTER — 6 team-member cards with bespoke SVG circular\navatars, name, role, current-task summary, and status pill\n('Working on CDN-03', 'In review · CDN-08', 'Off · back Monday').\nCards stagger reveal at 100ms per card.\n\nTIMELINE / GANTT VIEW — a mini alternative view showing the same 8\ntasks on a horizontal timeline with day markers, task bars sliding\nin from left with 80ms per-bar stagger. Task bars use the same\nmulti-color labels as the Kanban cards.\n\nRETROSPECTIVE CALLOUT — quote-style summary card 'Sprint 24: 47\npoints shipped. 3 blockers. 1 hot-fix. Team velocity up 12% Q/Q.'\nin a large Inter Display italic pull quote with team-lead attribution.\n\nPRICING TIERS — 3-tier grid (Free / Team / Enterprise) with feature\nlists and coral highlight on the recommended Team tier.\n\nFOOTER — dark inverted band with 'CADENCE' wordmark at ~120px,\n4-column utility grid, and a small SOC 2 badge in the corner.\n\nSix bespoke SVG marks (kanban-board icon, priority-flag, checklist-\nbar, avatar-stack, timeline-marker, sprint-burndown-chart) drop as\nPUNCTUATION at specific compositional moments, never as a uniform\nicon row.\n",
|
|
33
|
+
} as const;
|
|
34
|
+
|
|
35
|
+
export type Tokens = typeof tokens;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Design Direction — Telehealth-Modern
|
|
2
|
+
|
|
3
|
+
## Ethos
|
|
4
|
+
Headway therapist directory · Cerebral lavender soft · Talkspace warm blue · Spruce clinical-tool density · Calm Health structured-soft
|
|
5
|
+
|
|
6
|
+
## Feel
|
|
7
|
+
Modern telehealth dashboard energy. The patient schedules a session, refills a prescription, reviews a session note; the provider documents an encounter, sends a message, reviews a chart. The surface is dense but warm — cream-tinted panels, white cards, lavender as the canonical primary action, warm-blue and sage and amber as a small status palette. Inter does everything. The brand reads competent and kind — clinical-software competence with the bedside manner of a good therapist, not an EHR built in 2008.
|
|
8
|
+
|
|
9
|
+
## Reference brands
|
|
10
|
+
- **Headway** → warm cream background, therapist-directory tile pattern, friendly Inter at every size.
|
|
11
|
+
- **Cerebral** → lavender primary, soft elevated cards, mental-health competence without the heavy clinical chrome.
|
|
12
|
+
- **Talkspace** → warm-blue accent for appointment and messaging surfaces, friendly approachable type.
|
|
13
|
+
- **Spruce Health** → dense provider-tool layouts with a warm accent, dosage strings and ICD codes in mono.
|
|
14
|
+
- **Calm Health** → sage for wellness/positive-status indicators, structured layouts that still feel soft.
|
|
15
|
+
|
|
16
|
+
## Tokens
|
|
17
|
+
All tokens live in `src/index.css` as HSL triples. Every token's `from:` comment names its brand origin. Do not introduce numbered or generic tokens — if a new color is needed, name a brand it traces to.
|
|
18
|
+
|
|
19
|
+
Surface stack is **warm cream** (background) → **white** (card and panel) → **deeper cream** (secondary panel) → **brand-tint** (lavender-soft, warm-blue-soft, sage-soft, amber-soft as status pills and hover states). Depth comes from soft slate-tinted shadows and one-step lifts. The cream base is what distinguishes this from a generic SaaS dashboard — a pure-white page reads cold and the brand collapses.
|
|
20
|
+
|
|
21
|
+
Brand tokens: `--lavender`, `--lavender-soft`, `--warm-blue`, `--warm-blue-soft`, `--sage`, `--sage-soft`, `--amber`, `--amber-soft`, `--cream`. Primary is **Cerebral lavender**. The status palette is constrained: lavender = session/primary, warm-blue = appointment/booking, sage = adherence-good/wellness-complete, amber = pending/refill-due, warm-red = destructive/cancel.
|
|
22
|
+
|
|
23
|
+
## Typography
|
|
24
|
+
- **Display:** Inter (Headway/Cerebral feel). Weights 500/600/700. Tracking `-0.015em` at large sizes.
|
|
25
|
+
- **Body:** Inter — same family as display. Telehealth dashboards use one face; hierarchy via weight + size, never face change. Body base **15px** with **line-height 1.55** — denser than marketing surfaces because dashboards pack information.
|
|
26
|
+
- **Mono:** IBM Plex Mono. Dosage strings, ICD codes, MRNs, appointment-time slots inside CTAs. Slightly warmer than JetBrains Mono — patient-facing chrome benefits from the softer stroke.
|
|
27
|
+
|
|
28
|
+
H1 uses `clamp(2rem, 4.5vw, 3.25rem)` — tool-first, not magazine-large. Numbers always use tabular figures. Font features: `"cv11"`, `"ss01"`, `"tnum"`, `"calt"`.
|
|
29
|
+
|
|
30
|
+
## Spacing
|
|
31
|
+
- **Container:** `max-w-7xl px-4 lg:px-6` — wide; provider dashboards run edge-to-edge with sidebar.
|
|
32
|
+
- **Section padding tiers:**
|
|
33
|
+
- Hero: `pt-16 pb-12 lg:pt-24 lg:pb-16` (modest — this is a tool brand, not an editorial site)
|
|
34
|
+
- Default: `py-12 lg:py-20`
|
|
35
|
+
- Tight: `py-8 lg:py-12`
|
|
36
|
+
- **Allowed scale values:** 2 4 6 8 10 12 14 16 20 24 32 40 48 64 80. Dense-allowed micro-steps (2 and 14 included) — dashboard layouts need fine adjustments inside dense table rows and inline-form clusters.
|
|
37
|
+
|
|
38
|
+
## Color
|
|
39
|
+
No hex anywhere in component files. All color via tokens. Opacity via `/N` modifier on token, not via new tokens. The status palette is closed — do not introduce a new "info" green or a "warning" orange; the four brand colors plus destructive carry every state.
|
|
40
|
+
|
|
41
|
+
Lavender is the only color that appears on primary-action buttons. Warm-blue is for appointment chips, booking flow, and chat-message bubbles — never for primary CTA. Sage indicates positive completion (adherence streak, session completed, lab in range). Amber indicates attention-needed but not alarm (Rx refill due, follow-up scheduled). Warm-red is destructive only.
|
|
42
|
+
|
|
43
|
+
## Radius
|
|
44
|
+
`--radius: 0.625rem` (10px). **Softer than dense-utility, less pillowy than DTC.** Pills are allowed and core (`pillsAllowed: true`) — appointment-status chips, Rx-state badges, adherence indicators. Tighter radius than the DTC siblings because dense data tables read better with crisper corners.
|
|
45
|
+
|
|
46
|
+
## Shadows
|
|
47
|
+
**Soft slate-tinted shadows.** Utilities:
|
|
48
|
+
- `.shadow-panel` — base panel and card lift
|
|
49
|
+
- `.shadow-panel-lg` — hover state and elevated detail panel
|
|
50
|
+
- `.shadow-popover` — dropdown, modal, calendar-pickers — heavier
|
|
51
|
+
- `.shadow-inset-soft` — 1px inner highlight for cards that need extra dimension
|
|
52
|
+
|
|
53
|
+
No glows. No colored drop-shadows. Shadow color is slate-tinted (not gray) so it reads warm against cream.
|
|
54
|
+
|
|
55
|
+
## Motion
|
|
56
|
+
Five keyframes — `fade-rise` (panel and row entrance, 400ms — dashboard-quick), `scale-in` (modal, popover, dropdown, 180ms), `soft-pulse` (unread-message dot and live-session indicator, 1800ms infinite, opacity only), `shimmer` (appointment-list and chart-row loading skeleton), `slide-in-right` (side-panel and chart-detail drawer entrance, 280ms).
|
|
57
|
+
|
|
58
|
+
Easing: `cubic-bezier(0.22, 1, 0.36, 1)`. `prefers-reduced-motion` is honored — wrapped in a media query in every motion utility. **No ambient motion** — this is a clinical tool, and motion that doesn't confirm an action reads as distraction. The reveal duration is fast on purpose; clinical software must feel responsive.
|
|
59
|
+
|
|
60
|
+
## Component patterns
|
|
61
|
+
- **Buttons:** Primary = solid lavender fill, white text, rounded-lg, shadow-panel. Secondary = white fill with 1px border, foreground text. Tertiary = text-link in lavender. Destructive = warm-red ghost (border + text), upgrades to solid only on confirm step. Hover: shadow-panel-lg + 4% darken, never scale (jumpiness in clinical chrome reads error-prone).
|
|
62
|
+
- **Cards:** Rounded-lg, white fill on cream background, 1px warm border, shadow-panel. Internal padding `p-5 lg:p-6` (denser than marketing). Dashboard-tile variant uses a 4px top-border in the brand color matching the data (lavender = session, warm-blue = appointment, sage = adherence, amber = pending).
|
|
63
|
+
- **Inputs:** Rounded-md, 1px warm border, white background. Compact height (h-9). Label sits above in Inter 500. Focus = 2px lavender ring at 40% opacity. Error = warm-red border + warm-red helper text below, no fill change. Inline validation appears as the user types — clinical forms need real-time feedback because a typo in a dosage field is a real harm.
|
|
64
|
+
- **CTAs:** Primary lavender solid is the dashboard default. Marketing pages may pair primary + warm-blue ghost side-by-side. Appointment-booking CTAs always show the next-available slot in mono inside the button itself (*"Book Tuesday 2:30pm"*) — reduces clicks-to-conversion.
|
|
65
|
+
|
|
66
|
+
## Recommended rich media
|
|
67
|
+
Telehealth photography is **provider portraits and product-UI screenshots**, not lifestyle moments. Provider portraits look like LinkedIn done well — clean background, warm lighting, slight smile, eye contact. Patient testimonials use real photography (not stock) with consent and attribution.
|
|
68
|
+
|
|
69
|
+
Product-UI screenshots are the hero. Show the actual session interface, the actual appointment-calendar, the actual chart-note — telehealth buyers (both patients and providers) need to see the tool before they trust it. Screenshots get a subtle warm-cream device-frame background, never a starscape or gradient gimmick.
|
|
70
|
+
|
|
71
|
+
**AI tool recommendations:** **Midjourney / Flux** for provider portraits with prompts like *"professional healthcare provider portrait, soft warm lighting, neutral cream background, friendly slight smile, natural skin"*. **Recraft** or **Ideogram** for category illustrations in a friendly editorial style (lavender or warm-blue accent on cream). Avoid: 3D rendered medical instruments, glossy stethoscope shots, anything that looks like a 2014 startup marketing site.
|
|
72
|
+
|
|
73
|
+
**Aspect ratios:** 4:3 or 3:2 for product-UI screenshots (matches actual device aspect), 1:1 square for provider portraits (directory tile standard), 4:5 portrait for marketing testimonial photography. Never 21:9.
|
|
74
|
+
|
|
75
|
+
**Video:** product walkthroughs are core marketing content — ≤90 seconds, captions baked in (accessibility and sound-off mobile autoplay). Provider testimonial videos are talking-head with the provider in their actual workspace, never a green-screen studio. ≤10 MB, H.265.
|
|
76
|
+
|
|
77
|
+
**Performance:** hero screenshot ≤200 KB AVIF at 2000w (UI detail must hold up); provider-portrait tiles ≤40 KB at 400w. LCP under 2.5s.
|
|
78
|
+
|
|
79
|
+
**Avoid:** stock photography of stethoscope-on-clipboard, blue-tinted hospital corridors, doctors-pointing-at-tablets, glowing-data-overlay 3D renders, anything from a generic healthcare-marketing stock library, lens flare, the "trusted by these logos" gray-on-gray logo wall (use color logos on the warm cream — the warmth is the brand).
|
|
80
|
+
|
|
81
|
+
**Accessibility:** product-UI screenshot alt-text describes the interface state: *"Patient dashboard showing three upcoming appointments and a refill reminder for sertraline."* Provider portrait alt-text: *"Dr. Maya Chen, licensed therapist, smiling in her office."*
|
|
82
|
+
|
|
83
|
+
## Component families
|
|
84
|
+
None at install time. The hint sheet for appointment-tile, chart-row, dose-card, message-bubble, and provider-directory-tile patterns lives in the design-system handoff once the first views ship; the Director appends them here as patterns stabilize.
|
|
85
|
+
|
|
86
|
+
## Details
|
|
87
|
+
- **Selection:** `hsl(var(--lavender) / 0.22)` background, foreground text.
|
|
88
|
+
- **Focus ring:** `2px solid hsl(var(--ring) / 0.5)` — lavender at half-opacity.
|
|
89
|
+
- **Scrollbar:** thin.
|
|
90
|
+
|
|
91
|
+
## Exceptions
|
|
92
|
+
None yet. When an intentional one-of-one violation lands (a third-party data table embedded in a chart view that must follow upstream HSL values, a partner-brand pixel-match), add it here with the reason. The Director's consistency pass lists all exceptions for human review.
|
|
93
|
+
|
|
94
|
+
## Revisions
|
|
95
|
+
- Initial direction, generated at install time.
|