Style Selector
Generate 8 self-contained visual direction demo pages for comparison, then apply the chosen direction to the project.
Workflow
1. Gather project context
Before generating demos, collect:
- Project type (landing page, web app, SaaS, dashboard, e-commerce, portfolio)
- Business type (consulting, SaaS, agency, e-commerce, portfolio, etc.)
- Business name and tagline
- Key stats (numbers to display -- users, clients, years, etc.)
- Services/products (3-4 items with short descriptions)
- CTA (primary call to action -- book a call, sign up, buy, etc.)
- Language (Spanish, English, etc.)
- Tone (corporate, friendly, luxury, technical, rebellious, playful, etc.)
If the project already has content (existing pages, spec docs, CLAUDE.md), extract this context automatically without asking.
2. Verify project setup
Confirm the project uses Next.js App Router + Tailwind CSS. Check:
src/app/ or app/ directory exists
tailwind.config.ts or tailwind.config.js exists
globals.css has @tailwind base/components/utilities or @import "tailwindcss" directives
Critical: Ensure globals.css custom styles are wrapped in @layer base { }. Unlayered CSS overrides Tailwind utility classes due to CSS cascade layers. If * { margin: 0; padding: 0; } or body { ... } exist outside a @layer, wrap them in @layer base { }.
3. Create demo infrastructure
Create these files:
Demo layout (src/app/demo/layout.tsx):
'use client'
export default function DemoLayout({ children }: { children: React.ReactNode }) {
return (
<div style={{ position: 'fixed', inset: 0, zIndex: 99999, overflow: 'auto', background: '#ffffff', fontFamily: 'system-ui, sans-serif', color: '#000' }}>
<style>{\`body { overflow: hidden !important; }\`}</style>
{children}
</div>
)
}
Demo index page (src/app/demo/page.tsx): A 'use client' page listing all 8 directions as clickable cards. Each card shows: direction name, subtitle/reference, description, and 4 color swatches. Dark background (#0a0a0a) for the index page.
4. Select directions based on project type
Not all 8 directions suit every project type. Pre-select 5 that best match:
| Project Type |
Recommended 5 |
Skip |
| Landing page (general) |
Editorial, Minimal, Luxury, Corporate, Kinfolk |
— |
| SaaS / Web app |
Minimal, Corporate, Playful, Brutalist, Retro |
Luxury, Kinfolk, Editorial |
| E-commerce |
Minimal, Luxury, Corporate, Playful, Kinfolk |
Brutalist, Retro, Editorial |
| Dashboard |
Minimal, Corporate, Playful, Retro, Brutalist |
Luxury, Kinfolk, Editorial |
| Portfolio / Creative |
Editorial, Luxury, Kinfolk, Brutalist, Playful |
Minimal, Corporate, Retro |
| Developer tools |
Minimal, Brutalist, Retro, Playful, Corporate |
Luxury, Kinfolk, Editorial |
If the user says "show all 8", generate all 8 regardless. Otherwise use the recommended 5 for their project type. Always ask if they want to see all 8 after showing the 5.
5. Generate demo pages
See references/directions.md for the complete spec of each visual direction, including palette, typography, layout, animation, accessibility, and mobile specs.
Each demo page must be:
- Self-contained (no shared component imports -- only
next/link and next/font/google)
- Mobile-first responsive (design for 375px first, enhance with Tailwind breakpoints)
- Complete (skip-link + nav + hero + storytelling + stats + services + CTA + footer)
- Unique fonts via
next/font/google with CSS variables
- Custom colors via inline
style attributes (not relying on project's Tailwind theme)
- Animated per direction specs (scroll reveal, hover effects, micro-interactions)
- Accessible (WCAG AA contrast, focus-visible outlines, 44px+ touch targets, skip link)
- Motion-safe (respect
prefers-reduced-motion -- disable all animations/transitions)
- Back link to
/demo in the footer
Pages that use event handlers (onMouseEnter, useState, useEffect) MUST have 'use client' at the top. Pages with 'use client' MUST NOT export metadata.
Generate all pages in parallel using Agent tool for speed.
6. Adapt copy to project
For each direction, rewrite copy to match the project's context:
- Headline adapted to the business and tone direction
- Storytelling adapted to the founder/company narrative
- Stats using real project numbers
- Services listing real offerings
- CTA pointing to real contact mechanism
Copy quality rules (avoid AI-sounding text):
- Use imperfect, conversational sentences
- Include specific details, not generic buzzwords
- Short paragraphs, varied rhythm
- Opinions and personality over corporate speak
- Questions to the reader
- First person where appropriate
Copy tone per direction (see references/directions.md for full table):
- Editorial: authoritative, measured
- Minimal: direct, stripped
- Luxury: intimate, refined
- Corporate: confident, structured
- Kinfolk: thoughtful, quiet
- Brutalist: blunt, irreverent
- Playful: energetic, modern
- Retro: dry, technical, developer humor
7. Build and verify
Run npx next build to confirm all demo routes compile. Fix any errors:
- Missing
'use client' for pages with event handlers
metadata export in client components (remove it)
- Unused variables (remove them)
Start dev server and verify:
- Take screenshots of each demo at desktop (1280px)
- Take screenshots at mobile (375px) — resize viewport
- Check that:
- No horizontal overflow on mobile
- All text readable (16px+ body on mobile)
- All buttons tappable (44px+ height)
- Nav is functional on both sizes
- Animations play (and stop with reduced-motion)
- Focus outlines visible when tabbing
- Skip link works
8. Present to user
Show the user the demo index URL (/demo) and a summary table of all directions with their visual identity. Include:
| Direction |
Mood |
Key Feature |
Best For |
| Editorial |
Intellectual authority |
Serif typography, gold accents |
Consulting, media, thought leadership |
| Minimal |
Functional clarity |
Maximum restraint, red CTAs only |
SaaS, tools, developer products |
| Luxury |
Warm intimacy |
Dark bg, copper accents, slow motion |
Premium services, hospitality, beauty |
| Corporate |
Confident authority |
Navy/white rhythm, purple accents |
Enterprise, B2B, consulting |
| Kinfolk |
Quiet sophistication |
Narrow columns, olive accents, stillness |
Creative, wellness, editorial |
| Brutalist |
Raw irreverence |
Hard shadows, mono uppercase, thick borders |
Startups, developer tools, creative agencies |
| Playful |
Modern energy |
Gradient text, glass cards, living gradients |
SaaS, modern startups, tech |
| Retro |
Hacker credibility |
Terminal aesthetic, typewriter, green-on-black |
Developer tools, CLI products, tech |
Ask which direction they prefer or if they want to mix elements from multiple directions.
9. Apply direction (post-selection)
Once the user chooses a direction, apply it to the project:
9a. Generate Tailwind theme tokens
Create/update tailwind.config.ts with the chosen direction's design tokens:
// Example for "Luxury Dark Warm" direction
const config = {
theme: {
extend: {
colors: {
background: '#171614',
foreground: '#F0EBE1',
accent: '#C4956A',
muted: '#8A8174',
card: '#1E1D1A',
border: 'rgba(196,149,106,0.3)',
},
fontFamily: {
display: ['var(--font-cormorant)', 'serif'],
body: ['var(--font-outfit)', 'sans-serif'],
},
animation: {
'fade-in': 'fadeIn 800ms ease-out',
'slide-up': 'slideUp 800ms ease-out',
},
keyframes: {
fadeIn: { '0%': { opacity: '0' }, '100%': { opacity: '1' } },
slideUp: { '0%': { transform: 'translateY(20px)', opacity: '0' }, '100%': { transform: 'translateY(0)', opacity: '1' } },
},
},
},
}
9b. Generate CSS variables
Add to globals.css:
@layer base {
:root {
--background: <bg-color>;
--foreground: <text-color>;
--accent: <accent-color>;
--muted: <secondary-color>;
--card: <card-bg>;
--border: <border-color>;
--focus-ring: <focus-color>;
/* Animation tokens */
--reveal-y: <direction-value>;
--reveal-duration: <direction-value>;
--reveal-stagger: <direction-value>;
--reveal-easing: <direction-value>;
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
}
9c. Generate base components
Create reusable components that encode the chosen direction's patterns:
src/components/ui/Button.tsx — Primary and secondary variants matching direction style:
- Editorial: gold-bordered, serif text
- Minimal: red bg (primary), text link with arrow (secondary)
- Luxury: copper bg, light weight text
- Corporate: purple filled + outline variants
- Kinfolk: olive outline, minimal
- Brutalist: black border + hard shadow, uppercase mono
- Playful: gradient border, glass effect
- Retro: terminal command style, mono text
src/components/ui/Card.tsx — Card component matching direction:
- Editorial: no card, just gold left border
- Minimal: border-b divider, no card bg
- Luxury: dark raised bg, copper top border
- Corporate: light gray bg, slate border
- Kinfolk: no card, just text
- Brutalist: 3px black border, hard shadow
- Playful: glass morphism (white 5%, backdrop-blur)
- Retro: green/30% border, terminal bg
src/components/ui/Section.tsx — Section wrapper with direction-appropriate spacing, dividers, and scroll-reveal animation.
src/components/ui/Container.tsx — Max-width container matching direction's content width.
src/components/ui/Nav.tsx — Navigation with direction-appropriate mobile pattern.
src/components/ScrollReveal.tsx — Reusable scroll reveal hook/component using IntersectionObserver.
9d. Generate font setup
Add to root layout (src/app/layout.tsx or src/app/demo/layout.tsx):
import { FontDisplay, FontBody } from 'next/font/google'
const fontDisplay = FontDisplay({
subsets: ['latin'],
variable: '--font-display',
display: 'swap',
})
const fontBody = FontBody({
subsets: ['latin'],
variable: '--font-body',
display: 'swap',
})
// Add to <html> or <body> className:
// `${fontDisplay.variable} ${fontBody.variable}`
9e. Clean up
- Remove
/demo/ directory and all demo pages
- Remove demo layout
- Confirm
npx next build passes after applying theme
10. Verify applied direction
After applying the chosen direction:
- Start dev server
- Navigate to the main page
- Take screenshot at desktop and mobile
- Verify:
- Colors match chosen direction
- Fonts load correctly
- Animations work (and respect reduced-motion)
- Mobile layout is correct
- All components render properly
- Share screenshots with user for final approval
The 8 Directions
| ID |
Name |
Reference |
Bg |
Accent |
Fonts |
| editorial |
Editorial Serif |
The Economist |
Cream #FAFAF5 |
Gold #B8860B |
Playfair Display + Source Serif 4 |
| minimal |
Swiss Minimal |
Dieter Rams |
White #FFFFFF |
Red #D42B2B |
Space Grotesk + Inter |
| luxury |
Luxury Dark Warm |
Aesop |
Charcoal #171614 |
Copper #C4956A |
Cormorant Garamond + Outfit |
| corporate |
Corporate Bold |
Accenture |
White/Navy #0F1923 |
Purple #5B21B6 |
Plus Jakarta Sans |
| kinfolk |
Understated Elegance |
Kinfolk |
Bone #F5F2ED |
Olive #6B705C |
Libre Baskerville + Karla |
| brutalist |
Neo-Brutalist |
Gumroad |
Off-white #FFFDF7 |
Yellow #FFE600 + Pink #FF3366 |
Space Mono + DM Sans |
| playful |
Playful Gradient |
Linear/Stripe |
Near-black #0C0C0C |
Blue→Violet→Pink gradient |
Satoshi/Inter |
| retro |
Retro Terminal |
Stripe CLI |
Terminal black #0D1117 |
Green #00FF41 + Amber #FFB000 |
JetBrains Mono |
For detailed specs (full palette, layout, animation, accessibility, mobile), read references/directions.md.
Direction Selection Guide
| If the user wants... |
Recommend |
| "Professional but not boring" |
Editorial or Corporate |
| "Clean and modern" |
Minimal or Playful |
| "Premium / high-end" |
Luxury or Kinfolk |
| "Fun / startup vibe" |
Brutalist or Playful |
| "Developer audience" |
Retro or Minimal |
| "Something different / bold" |
Brutalist or Retro |
| "Warm and personal" |
Luxury or Kinfolk |
| "Data-driven / enterprise" |
Corporate or Minimal |
| "Creative / artistic" |
Kinfolk or Brutalist |
| "Tech / SaaS" |
Playful or Retro |
Project Type Adaptations
The common section structure (nav, hero, storytelling, stats, services, CTA, footer) works for landing pages. For other project types, adapt the demo structure:
Web App / SaaS
Replace storytelling + stats with:
- Feature showcase — 3 key features with mock UI screenshots or illustrations
- How it works — 3-step flow (Sign up → Configure → Launch)
- Pricing — 3 tiers (Free, Pro, Enterprise) or simple pricing card
Keep: Nav, Hero, Services/Features, CTA, Footer
Dashboard
Replace hero + storytelling with:
- Dashboard preview — Mock data visualization (charts placeholder, KPI cards)
- Sidebar — Navigation pattern preview
- Data table — Sample table with direction's styling
Keep: Nav (sidebar variant), Feature cards, CTA, Footer
E-commerce
Replace storytelling with:
- Product grid — 4-6 product cards with image placeholders, price, CTA
- Categories — Category navigation
- Trust signals — Reviews, shipping info, guarantees
Keep: Nav (with cart icon), Hero (product-focused), CTA, Footer
Portfolio
Replace services with:
- Project grid — 4-6 project cards with image, title, category
- About section — Bio with photo placeholder
- Testimonials — 2-3 client quotes
Keep: Nav, Hero (name-focused), Storytelling, CTA (hire me), Footer
1---2name: ux-ui-premium-direction-style-selector3description: Deploy 8 radically different visual direction demos for a website or webapp project. Creates self-contained Next.js pages under /demo/ with distinct identities (typography, color palette, layout, animation, accessibility) so the user can compare and choose. After selection, generates production-ready theme tokens, Tailwind config, CSS variables, and base components matching the chosen direction. Use when: starting a new web project, redesigning a site, choosing visual direction, the user says "style selector", "choose styles", "visual alternatives", "pick a design direction", or wants to compare different aesthetic approaches before committing to one. Works with Next.js + Tailwind CSS projects (landing pages, web apps, SaaS, dashboards).4---56# Style Selector78Generate 8 self-contained visual direction demo pages for comparison, then apply the chosen direction to the project.910## Workflow1112### 1. Gather project context1314Before generating demos, collect:15- **Project type** (landing page, web app, SaaS, dashboard, e-commerce, portfolio)16- **Business type** (consulting, SaaS, agency, e-commerce, portfolio, etc.)17- **Business name and tagline**18- **Key stats** (numbers to display -- users, clients, years, etc.)19- **Services/products** (3-4 items with short descriptions)20- **CTA** (primary call to action -- book a call, sign up, buy, etc.)21- **Language** (Spanish, English, etc.)22- **Tone** (corporate, friendly, luxury, technical, rebellious, playful, etc.)2324If the project already has content (existing pages, spec docs, CLAUDE.md), extract this context automatically without asking.2526### 2. Verify project setup2728Confirm the project uses Next.js App Router + Tailwind CSS. Check:29- `src/app/` or `app/` directory exists30- `tailwind.config.ts` or `tailwind.config.js` exists31- `globals.css` has `@tailwind base/components/utilities` or `@import "tailwindcss"` directives3233**Critical**: Ensure globals.css custom styles are wrapped in `@layer base { }`. Unlayered CSS overrides Tailwind utility classes due to CSS cascade layers. If `* { margin: 0; padding: 0; }` or `body { ... }` exist outside a `@layer`, wrap them in `@layer base { }`.3435### 3. Create demo infrastructure3637Create these files:3839**Demo layout** (`src/app/demo/layout.tsx`):40```tsx41'use client'42export default function DemoLayout({ children }: { children: React.ReactNode }) {43 return (44 <div style={{ position: 'fixed', inset: 0, zIndex: 99999, overflow: 'auto', background: '#ffffff', fontFamily: 'system-ui, sans-serif', color: '#000' }}>45 <style>{\`body { overflow: hidden !important; }\`}</style>46 {children}47 </div>48 )49}50```5152**Demo index page** (`src/app/demo/page.tsx`): A 'use client' page listing all 8 directions as clickable cards. Each card shows: direction name, subtitle/reference, description, and 4 color swatches. Dark background (#0a0a0a) for the index page.5354### 4. Select directions based on project type5556Not all 8 directions suit every project type. Pre-select 5 that best match:5758| Project Type | Recommended 5 | Skip |59|-------------|---------------|------|60| Landing page (general) | Editorial, Minimal, Luxury, Corporate, Kinfolk | — |61| SaaS / Web app | Minimal, Corporate, Playful, Brutalist, Retro | Luxury, Kinfolk, Editorial |62| E-commerce | Minimal, Luxury, Corporate, Playful, Kinfolk | Brutalist, Retro, Editorial |63| Dashboard | Minimal, Corporate, Playful, Retro, Brutalist | Luxury, Kinfolk, Editorial |64| Portfolio / Creative | Editorial, Luxury, Kinfolk, Brutalist, Playful | Minimal, Corporate, Retro |65| Developer tools | Minimal, Brutalist, Retro, Playful, Corporate | Luxury, Kinfolk, Editorial |6667If the user says "show all 8", generate all 8 regardless. Otherwise use the recommended 5 for their project type. Always ask if they want to see all 8 after showing the 5.6869### 5. Generate demo pages7071See `references/directions.md` for the complete spec of each visual direction, including palette, typography, layout, animation, accessibility, and mobile specs.7273Each demo page must be:74- **Self-contained** (no shared component imports -- only `next/link` and `next/font/google`)75- **Mobile-first responsive** (design for 375px first, enhance with Tailwind breakpoints)76- **Complete** (skip-link + nav + hero + storytelling + stats + services + CTA + footer)77- **Unique fonts** via `next/font/google` with CSS variables78- **Custom colors** via inline `style` attributes (not relying on project's Tailwind theme)79- **Animated** per direction specs (scroll reveal, hover effects, micro-interactions)80- **Accessible** (WCAG AA contrast, focus-visible outlines, 44px+ touch targets, skip link)81- **Motion-safe** (respect `prefers-reduced-motion` -- disable all animations/transitions)82- **Back link** to `/demo` in the footer8384Pages that use event handlers (onMouseEnter, useState, useEffect) MUST have `'use client'` at the top. Pages with `'use client'` MUST NOT export `metadata`.8586Generate all pages in parallel using Agent tool for speed.8788### 6. Adapt copy to project8990For each direction, rewrite copy to match the project's context:91- Headline adapted to the business and tone direction92- Storytelling adapted to the founder/company narrative93- Stats using real project numbers94- Services listing real offerings95- CTA pointing to real contact mechanism9697**Copy quality rules** (avoid AI-sounding text):98- Use imperfect, conversational sentences99- Include specific details, not generic buzzwords100- Short paragraphs, varied rhythm101- Opinions and personality over corporate speak102- Questions to the reader103- First person where appropriate104105**Copy tone per direction** (see `references/directions.md` for full table):106- Editorial: authoritative, measured107- Minimal: direct, stripped108- Luxury: intimate, refined109- Corporate: confident, structured110- Kinfolk: thoughtful, quiet111- Brutalist: blunt, irreverent112- Playful: energetic, modern113- Retro: dry, technical, developer humor114115### 7. Build and verify116117Run `npx next build` to confirm all demo routes compile. Fix any errors:118- Missing `'use client'` for pages with event handlers119- `metadata` export in client components (remove it)120- Unused variables (remove them)121122Start dev server and verify:1231. Take screenshots of each demo at **desktop** (1280px)1242. Take screenshots at **mobile** (375px) — resize viewport1253. Check that:126 - No horizontal overflow on mobile127 - All text readable (16px+ body on mobile)128 - All buttons tappable (44px+ height)129 - Nav is functional on both sizes130 - Animations play (and stop with reduced-motion)131 - Focus outlines visible when tabbing132 - Skip link works133134### 8. Present to user135136Show the user the demo index URL (`/demo`) and a summary table of all directions with their visual identity. Include:137138| Direction | Mood | Key Feature | Best For |139|-----------|------|-------------|----------|140| Editorial | Intellectual authority | Serif typography, gold accents | Consulting, media, thought leadership |141| Minimal | Functional clarity | Maximum restraint, red CTAs only | SaaS, tools, developer products |142| Luxury | Warm intimacy | Dark bg, copper accents, slow motion | Premium services, hospitality, beauty |143| Corporate | Confident authority | Navy/white rhythm, purple accents | Enterprise, B2B, consulting |144| Kinfolk | Quiet sophistication | Narrow columns, olive accents, stillness | Creative, wellness, editorial |145| Brutalist | Raw irreverence | Hard shadows, mono uppercase, thick borders | Startups, developer tools, creative agencies |146| Playful | Modern energy | Gradient text, glass cards, living gradients | SaaS, modern startups, tech |147| Retro | Hacker credibility | Terminal aesthetic, typewriter, green-on-black | Developer tools, CLI products, tech |148149Ask which direction they prefer or if they want to mix elements from multiple directions.150151### 9. Apply direction (post-selection)152153Once the user chooses a direction, apply it to the project:154155#### 9a. Generate Tailwind theme tokens156157Create/update `tailwind.config.ts` with the chosen direction's design tokens:158159```typescript160// Example for "Luxury Dark Warm" direction161const config = {162 theme: {163 extend: {164 colors: {165 background: '#171614',166 foreground: '#F0EBE1',167 accent: '#C4956A',168 muted: '#8A8174',169 card: '#1E1D1A',170 border: 'rgba(196,149,106,0.3)',171 },172 fontFamily: {173 display: ['var(--font-cormorant)', 'serif'],174 body: ['var(--font-outfit)', 'sans-serif'],175 },176 animation: {177 'fade-in': 'fadeIn 800ms ease-out',178 'slide-up': 'slideUp 800ms ease-out',179 },180 keyframes: {181 fadeIn: { '0%': { opacity: '0' }, '100%': { opacity: '1' } },182 slideUp: { '0%': { transform: 'translateY(20px)', opacity: '0' }, '100%': { transform: 'translateY(0)', opacity: '1' } },183 },184 },185 },186}187```188189#### 9b. Generate CSS variables190191Add to `globals.css`:192193```css194@layer base {195 :root {196 --background: <bg-color>;197 --foreground: <text-color>;198 --accent: <accent-color>;199 --muted: <secondary-color>;200 --card: <card-bg>;201 --border: <border-color>;202 --focus-ring: <focus-color>;203204 /* Animation tokens */205 --reveal-y: <direction-value>;206 --reveal-duration: <direction-value>;207 --reveal-stagger: <direction-value>;208 --reveal-easing: <direction-value>;209 }210211 @media (prefers-reduced-motion: reduce) {212 *, *::before, *::after {213 animation-duration: 0.01ms !important;214 animation-iteration-count: 1 !important;215 transition-duration: 0.01ms !important;216 }217 }218}219```220221#### 9c. Generate base components222223Create reusable components that encode the chosen direction's patterns:224225**`src/components/ui/Button.tsx`** — Primary and secondary variants matching direction style:226- Editorial: gold-bordered, serif text227- Minimal: red bg (primary), text link with arrow (secondary)228- Luxury: copper bg, light weight text229- Corporate: purple filled + outline variants230- Kinfolk: olive outline, minimal231- Brutalist: black border + hard shadow, uppercase mono232- Playful: gradient border, glass effect233- Retro: terminal command style, mono text234235**`src/components/ui/Card.tsx`** — Card component matching direction:236- Editorial: no card, just gold left border237- Minimal: border-b divider, no card bg238- Luxury: dark raised bg, copper top border239- Corporate: light gray bg, slate border240- Kinfolk: no card, just text241- Brutalist: 3px black border, hard shadow242- Playful: glass morphism (white 5%, backdrop-blur)243- Retro: green/30% border, terminal bg244245**`src/components/ui/Section.tsx`** — Section wrapper with direction-appropriate spacing, dividers, and scroll-reveal animation.246247**`src/components/ui/Container.tsx`** — Max-width container matching direction's content width.248249**`src/components/ui/Nav.tsx`** — Navigation with direction-appropriate mobile pattern.250251**`src/components/ScrollReveal.tsx`** — Reusable scroll reveal hook/component using IntersectionObserver.252253#### 9d. Generate font setup254255Add to root layout (`src/app/layout.tsx` or `src/app/demo/layout.tsx`):256257```tsx258import { FontDisplay, FontBody } from 'next/font/google'259260const fontDisplay = FontDisplay({261 subsets: ['latin'],262 variable: '--font-display',263 display: 'swap',264})265266const fontBody = FontBody({267 subsets: ['latin'],268 variable: '--font-body',269 display: 'swap',270})271272// Add to <html> or <body> className:273// `${fontDisplay.variable} ${fontBody.variable}`274```275276#### 9e. Clean up277278- Remove `/demo/` directory and all demo pages279- Remove demo layout280- Confirm `npx next build` passes after applying theme281282### 10. Verify applied direction283284After applying the chosen direction:2851. Start dev server2862. Navigate to the main page2873. Take screenshot at desktop and mobile2884. Verify:289 - Colors match chosen direction290 - Fonts load correctly291 - Animations work (and respect reduced-motion)292 - Mobile layout is correct293 - All components render properly2945. Share screenshots with user for final approval295296## The 8 Directions297298| ID | Name | Reference | Bg | Accent | Fonts |299|----|------|-----------|-----|--------|-------|300| editorial | Editorial Serif | The Economist | Cream #FAFAF5 | Gold #B8860B | Playfair Display + Source Serif 4 |301| minimal | Swiss Minimal | Dieter Rams | White #FFFFFF | Red #D42B2B | Space Grotesk + Inter |302| luxury | Luxury Dark Warm | Aesop | Charcoal #171614 | Copper #C4956A | Cormorant Garamond + Outfit |303| corporate | Corporate Bold | Accenture | White/Navy #0F1923 | Purple #5B21B6 | Plus Jakarta Sans |304| kinfolk | Understated Elegance | Kinfolk | Bone #F5F2ED | Olive #6B705C | Libre Baskerville + Karla |305| brutalist | Neo-Brutalist | Gumroad | Off-white #FFFDF7 | Yellow #FFE600 + Pink #FF3366 | Space Mono + DM Sans |306| playful | Playful Gradient | Linear/Stripe | Near-black #0C0C0C | Blue→Violet→Pink gradient | Satoshi/Inter |307| retro | Retro Terminal | Stripe CLI | Terminal black #0D1117 | Green #00FF41 + Amber #FFB000 | JetBrains Mono |308309For detailed specs (full palette, layout, animation, accessibility, mobile), read `references/directions.md`.310311## Direction Selection Guide312313| If the user wants... | Recommend |314|---------------------|-----------|315| "Professional but not boring" | Editorial or Corporate |316| "Clean and modern" | Minimal or Playful |317| "Premium / high-end" | Luxury or Kinfolk |318| "Fun / startup vibe" | Brutalist or Playful |319| "Developer audience" | Retro or Minimal |320| "Something different / bold" | Brutalist or Retro |321| "Warm and personal" | Luxury or Kinfolk |322| "Data-driven / enterprise" | Corporate or Minimal |323| "Creative / artistic" | Kinfolk or Brutalist |324| "Tech / SaaS" | Playful or Retro |325326## Project Type Adaptations327328The common section structure (nav, hero, storytelling, stats, services, CTA, footer) works for landing pages. For other project types, adapt the demo structure:329330### Web App / SaaS331Replace storytelling + stats with:332- **Feature showcase** — 3 key features with mock UI screenshots or illustrations333- **How it works** — 3-step flow (Sign up → Configure → Launch)334- **Pricing** — 3 tiers (Free, Pro, Enterprise) or simple pricing card335Keep: Nav, Hero, Services/Features, CTA, Footer336337### Dashboard338Replace hero + storytelling with:339- **Dashboard preview** — Mock data visualization (charts placeholder, KPI cards)340- **Sidebar** — Navigation pattern preview341- **Data table** — Sample table with direction's styling342Keep: Nav (sidebar variant), Feature cards, CTA, Footer343344### E-commerce345Replace storytelling with:346- **Product grid** — 4-6 product cards with image placeholders, price, CTA347- **Categories** — Category navigation348- **Trust signals** — Reviews, shipping info, guarantees349Keep: Nav (with cart icon), Hero (product-focused), CTA, Footer350351### Portfolio352Replace services with:353- **Project grid** — 4-6 project cards with image, title, category354- **About section** — Bio with photo placeholder355- **Testimonials** — 2-3 client quotes356Keep: Nav, Hero (name-focused), Storytelling, CTA (hire me), Footer