diff --git a/docs/superpowers/specs/2026-08-10-ui-polish-bright-design.md b/docs/superpowers/specs/2026-08-10-ui-polish-bright-design.md index b7a0574..0467973 100644 --- a/docs/superpowers/specs/2026-08-10-ui-polish-bright-design.md +++ b/docs/superpowers/specs/2026-08-10-ui-polish-bright-design.md @@ -36,9 +36,9 @@ Decisions locked in during brainstorming: | Text primary | `#18181b` (zinc-900) | | | Text secondary | `#52525b` (zinc-600) | | | Text tertiary | `#a1a1aa` (zinc-400) | | -| Brand (links, text accents) | `#0891b2` (cyan-600) | AA on white | -| Brand hover | `#0e7490` (cyan-700) | | -| Brand solid (button fill) | gradient `cyan-500 #06b6d4` → `cyan-600 #0891b2` | see Button spec | +| Brand (links, text accents) | `#0e7490` (cyan-700) | AA on white | +| Brand hover | `#155e75` (cyan-800) | | +| Brand solid (button fill) | gradient `cyan-700 #0e7490` → `cyan-800 #155e75` | see Button spec | | Active/selected bg | `#ecfeff` (cyan-50) | paired with cyan-700 text | | User message bubble bg | `#ecfeff` | unified with selection color | | Success / warning / error | keep hues, shift to zinc-compatible: `#16a34a` / `#d97706` / `#dc2626` | | @@ -89,9 +89,9 @@ reference the same color tokens. ## Layer 3 — `ui/` primitives (all consumers inherit) - **Button** (`src/components/ui/button.tsx`): - - `default`: vertical micro-gradient `from-[#06b6d4] to-[#0891b2]` (dark: + - `default`: vertical micro-gradient `from-[#0e7490] to-[#155e75]` (dark: flat `#0e7490`), white text, `shadow-sm`, hover deepens - (`to-[#0e7490]`), focus-visible ring `cyan-500/30`. + (`to-[#164e63]`), focus-visible ring `cyan-500/30`. - `outline`: white bg, zinc-200 border, hover zinc-50. - `ghost`: hover zinc-100. - `link`: cyan-600. @@ -138,7 +138,7 @@ caught by the per-layer manual verification gates below. 2. After Layer 3: every dialog + button/input/dropdown state (hover, focus, disabled) in both modes. 3. After Layer 4: chat, thread list, workspace panel, login in both modes. -- Contrast: cyan-600 on white (4.5:1+), cyan-700 on cyan-50, dark-mode +- Contrast: cyan-700 on white (5.2:1), cyan-700 on cyan-50, dark-mode equivalents must pass WCAG AA for text. ## Out of scope diff --git a/src/app/globals.css b/src/app/globals.css index 1c28e72..1608c9b 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -34,11 +34,11 @@ --color-active-bg: #ecfeff; --color-active-text: #0e7490; - /* Brand accent — EvoScientist cyan. cyan-600 passes WCAG AA on white. */ - --brand: #0891b2; - --brand-hover: #0e7490; + /* Brand accent — EvoScientist cyan. cyan-700 passes WCAG AA on white. */ + --brand: #0e7490; + --brand-hover: #155e75; /* Flat fill for badges/marks; the primary Button adds its own gradient. */ - --brand-solid: #0891b2; + --brand-solid: #0e7490; --brand-foreground: #ffffff; /* deep-agents-ui base tokens. Its tailwind.config.mjs maps semantic classes @@ -124,7 +124,7 @@ --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; - --primary: 189 90% 36%; + --primary: 192 85% 31%; --primary-foreground: 0 0% 100%; --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 10% 3.9%; @@ -136,7 +136,7 @@ --destructive-foreground: 0 0% 100%; --border: 240 5.9% 90%; --input: 240 5.9% 90%; - --ring: 189 90% 36%; + --ring: 192 85% 31%; --sidebar: 0 0% 98%; --chart-1: 189 90% 36%; --chart-2: 173 80% 40%; diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx index aa4988a..4f0e129 100644 --- a/src/components/ui/button.tsx +++ b/src/components/ui/button.tsx @@ -10,7 +10,7 @@ const buttonVariants = cva( variants: { variant: { default: - "bg-gradient-to-b from-[#06b6d4] to-[var(--brand-solid)] text-[var(--brand-foreground)] shadow-sm hover:from-[#0891b2] hover:to-[var(--brand-hover)] dark:bg-none dark:bg-[var(--brand-solid)] dark:hover:bg-[var(--brand-hover)]", + "bg-gradient-to-b from-[#0e7490] to-[#155e75] text-[var(--brand-foreground)] shadow-sm hover:from-[#155e75] hover:to-[#164e63] dark:bg-none dark:bg-[var(--brand-solid)] dark:hover:bg-[#155e75]", destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", outline: