diff --git a/src/app/_components/__tests__/tailwind-components.test.tsx b/src/app/_components/__tests__/tailwind-components.test.tsx
new file mode 100644
index 00000000..8bd0a995
--- /dev/null
+++ b/src/app/_components/__tests__/tailwind-components.test.tsx
@@ -0,0 +1,54 @@
+import { renderToStaticMarkup } from "react-dom/server";
+import { describe, expect, it } from "vitest";
+
+import { BackButton } from "../back-button";
+import { CharacterAvatar } from "../character-avatar";
+import { UserMessageAvatar } from "../user-message-avatar";
+
+describe("shared Tailwind components", () => {
+ it("renders BackButton link and action variants with Tailwind classes", () => {
+ const linkHtml = renderToStaticMarkup(
+ ,
+ );
+ const actionHtml = renderToStaticMarkup(
+ undefined} variant="ghost" />,
+ );
+
+ expect(linkHtml).toContain('href="/chat"');
+ expect(linkHtml).toContain('aria-label="Back to chat"');
+ expect(linkHtml).toContain("inline-flex");
+ expect(linkHtml).toContain("size-[var(--responsive-icon-button-size,42px)]");
+ expect(linkHtml).toContain("hover:bg-white");
+ expect(actionHtml).toContain("