feat(rebrand): light-mode pastel identity — blue + cream palette + new logo#96
Conversation
PUT and DELETE handlers now await params per Next.js 15 requirement.
params is Promise<{id}> not {id} directly.
Blue/cream pastel identity replacing coral/dark. Logo swap to houndshield-logo.png. Light theme default. Token map + file list + verification gates documented before any code change.
Swap entire visual identity from coral/dark to soft blue + cream pastels per design spec. Functionality unchanged. Token changes: - Brand scale rewritten around #81A6C6 (palette Blue) as brand-500 full 50-900 ramp generated - Cream scale rewritten around #F3E3D0 (palette Cream) and #D2C4B4 (palette Beige) - shadow-glow rgba flipped to (129, 166, 198) - gradient-arctic repointed to cream gradient Mode flip: - html no longer carries default "dark" class - theme-provider initial = "light" - viewport themeColor = #FBF8F2 - globals.css light overrides repaint body/sections to cream-50 - alternating sections use cream-100 Logo: - Logo.tsx now renders /houndshield-logo.png via next/image - TextLogo gradient swapped to blue - Favicon link points to logo PNG Sweep: - All hardcoded coral hex/rgba in 8 prod files replaced with blue - All amber/orange/yellow/indigo Tailwind classes in 35 files replaced with brand-* equivalents (now blue) Rule files: - .claude/rules/frontend.md rewritten: light default, blue primary - CLAUDE.md design system block rewritten
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Adopt the HoundShield Landing Page v3 spec extracted from the claude.ai/design reference. Refines existing rebrand with the exact token system that the v3 mockup uses. Tailwind: - cream scale: cream-50 = #FAFCFF (cool white), cream-75 = #F5F8FB, cream-150 = #EDD5BC (cream-deep), cream-200 = #E8DDD1 (sand-light) - new `ink` ramp: #0F1E2E / #3D5166 / #6B8299 / #0D1B2A (deep) - new `steel` family: #C5DAE9 / #5A86A8 / #4A7FA5 - surface scale extended (0/1/2/3) matching v3 hs-surface-* CSS vars - font stack swapped: DM Sans (sans), Fraunces (display+editorial), JetBrains Mono (mono) globals.css: - Google Fonts import adds Fraunces, DM Sans, JetBrains Mono - :root exposes full v3 token block as --hs-* CSS variables (blue/sky/cream/sand/white/ink/navy/steel/border/glow/shadow) - body bg flipped from warm cream #FBF8F2 to cool white #FAFCFF - body font-family bound to var(--font-dm-sans) - light-mode override section bg uses #FAFCFF Logo: - houndshield-logo.png added to public/ (1536x2752, JPEG-in-PNG) - now rendering top-left and on chat trigger Launch config: - fix .claude/launch.json cwd to worktree path
Reference: HoundShield v3 design (claude.ai/design preview).
Logo.tsx
- Default `card=true` wraps the mark in a soft cream surface
(bg-cream-100, ring-cream-300/60, shadow-card) with rounded
corners matching the reference (size * 0.18).
- Inner image is `objectFit: contain` at ~78% of card size.
- `card={false}` escape hatch for tight surfaces (footer, dashboard).
TextLogo.tsx
- Single-word "HoundShield" set in Fraunces serif (font-display)
- Mirrors v3 inline style: weight 400, letterSpacing -0.015em
- `variant="light"` -> text-ink-primary, `variant="dark"` -> text-white
- Drops the gradient "Hound"+"Shield" split so the wordmark
matches the reference exactly.
Tests
- Update assertions for the new single wordmark.
- Add `card={false}` coverage on Logo.
- Regenerate Logo + TextLogo + Navbar snapshots.
- Regenerate stale CursorGlow snapshot (orange -> brand-500 blue,
rebrand color leak that was masked by snapshot drift).
Homepage
- Wire app/page.tsx through HomeV3 component for full v3 fidelity.
Adds components/landing/v3/HomeV3.tsx as the canonical landing
composition.
All 64 component tests pass. `npm run build` clean.
v3 logo embed shipped (commit
|
…-wiles-b5b879 # Conflicts: # CLAUDE.md # compliance-firewall-agent/app/command-center/page.tsx # compliance-firewall-agent/app/command-center/shield/page.tsx # compliance-firewall-agent/app/globals.css # compliance-firewall-agent/app/layout.tsx # compliance-firewall-agent/app/page.tsx # compliance-firewall-agent/app/partners/page.tsx # compliance-firewall-agent/app/pricing/page.tsx # compliance-firewall-agent/components/CursorGlow.tsx # compliance-firewall-agent/components/GlobalChat.tsx # compliance-firewall-agent/components/Logo.tsx # compliance-firewall-agent/components/Navbar.tsx # compliance-firewall-agent/components/TextLogo.tsx # compliance-firewall-agent/components/__tests__/__snapshots__/Logo.test.tsx.snap # compliance-firewall-agent/components/__tests__/__snapshots__/TextLogo.test.tsx.snap # compliance-firewall-agent/components/landing/WhyHoundshield.tsx # compliance-firewall-agent/public/houndshield-logo.png # compliance-firewall-agent/tailwind.config.js
Merge conflicts resolved (commit `d199024`)Merged `origin/main` into branch. 18 conflicts resolved: Branding (kept HEAD / ours) — preserves v3 logo embed work
Stage 0 doctrine (took origin/main) — preserves PR #94/#95 RPO pivot
Manual merge — kept improvements from both
Gates
Vercel rebuilding the preview — ready for visual QA. |
Summary
Visual identity swap (logo + color palette) per spec
docs/superpowers/specs/2026-05-26-light-mode-rebrand-design.md. Zero functionality change — every route, component, copy, and feature preserved.#81A6C6Blue,#AACDDCSea,#F3E3D0Cream,#D2C4B4Beige)next/image(file ships in second commit)tailwind.config.js,app/globals.css, layout/theme provider, Logo/TextLogo, full color sweep across Navbar/landing/dashboard, plus rule file updates (frontend.md,CLAUDE.md)What changed
brand50-900 rewritten around#81A6C6; cream scale to palette#FBF8F2/#F3E3D0; all coral rgba swapped to bluedarkclass; viewport themeColor cream; favicon points to /houndshield-logo.png/houndshield-logo.pngvianext/image; blue gradient on textbrand-*equivalentsfrontend.mdandCLAUDE.mddesign system blocks rewrittenOut of scope (untouched)
Brain AI, proxy engine, scanner, classifier, audit log, Stripe wiring, Supabase schemas, pricing tier values, mega-menu data, partner cards, security disclaimer, NIST 800-171 controls.
Verification
npx tsc --noEmit— 0 errorsnpm run build— all routes compilenpm test -- --silent— 138 tests pass across 8 suiteshoundshield-logo.pngintocompliance-firewall-agent/public/(second commit incoming)brand-500background with white text is OK; brand text on cream usesbrand-700+Risks
shadow-glow*alpha reduced ~30% in tailwind configbg-zinc-900,bg-black/50)toMatchSnapshot()calls in active suite)frontend.mdrule "NEVER blue-*" was unenforced by any lint hookRollback
Revert this PR — production
mainwas never touched at any point. Old coral identity restored in onegit revert.