From f4a7b53393e5d225af87adfcd8bec2a0669acda8 Mon Sep 17 00:00:00 2001 From: Lukas Date: Mon, 16 Mar 2026 13:39:44 +0100 Subject: [PATCH] Restyle dark theme with blue-tinted palette, card glow, and rounded surfaces Shift the dark theme from neutral gray to a richer blue-tinted palette inspired by CharBuilder-style TTRPG apps. Deeper navy background, steel-blue card surfaces, and visible blue borders create more depth and visual layering. - Update design tokens: background, card, border, input, muted colors - Add card-glow utility (radial gradient + blue box-shadow) for card surfaces - Add panel-glow utility (top-down gradient) for tall panels like stat blocks - Apply glow and rounded-lg to all card surfaces, dropdowns, dialogs, toasts - Give outline buttons a subtle fill instead of transparent background - Active combatant row now uses full border with glow instead of left accent Co-Authored-By: Claude Opus 4.6 --- .../__tests__/combatant-row.test.tsx | 2 +- apps/web/src/components/action-bar.tsx | 6 ++-- apps/web/src/components/combatant-row.tsx | 4 +-- apps/web/src/components/condition-picker.tsx | 2 +- .../src/components/create-player-modal.tsx | 2 +- apps/web/src/components/hp-adjust-popover.tsx | 2 +- apps/web/src/components/player-management.tsx | 2 +- apps/web/src/components/stat-block-panel.tsx | 4 +-- apps/web/src/components/toast.tsx | 2 +- apps/web/src/components/turn-navigation.tsx | 2 +- apps/web/src/components/ui/button.tsx | 2 +- apps/web/src/components/ui/overflow-menu.tsx | 2 +- apps/web/src/index.css | 32 ++++++++++++++++--- 13 files changed, 43 insertions(+), 21 deletions(-) diff --git a/apps/web/src/components/__tests__/combatant-row.test.tsx b/apps/web/src/components/__tests__/combatant-row.test.tsx index ce55baa..b169bce 100644 --- a/apps/web/src/components/__tests__/combatant-row.test.tsx +++ b/apps/web/src/components/__tests__/combatant-row.test.tsx @@ -75,7 +75,7 @@ describe("CombatantRow", () => { it("active combatant gets active border styling", () => { const { container } = renderRow({ isActive: true }); const row = container.firstElementChild; - expect(row?.className).toContain("border-l-accent"); + expect(row?.className).toContain("border-accent/40"); }); it("unconscious combatant (currentHp === 0) gets dimmed styling", () => { diff --git a/apps/web/src/components/action-bar.tsx b/apps/web/src/components/action-bar.tsx index 6270674..16199c1 100644 --- a/apps/web/src/components/action-bar.tsx +++ b/apps/web/src/components/action-bar.tsx @@ -77,7 +77,7 @@ function AddModeSuggestions({ onAddFromPlayerCharacter?: (pc: PlayerCharacter) => void; }>) { return ( -
+
{!!open && ( -
+
{items.map((item) => (