diff --git a/README.md b/README.md
index c50c988..4f9d0e5 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,7 @@ You can also build and run Sucker as a Docker container with `docker compose bui
### Changelog
+- 2.4: CSS editor for Janitor profiles. New banner links to the live-preview editor at tools.from-avalon.com/janitor-profile-maker.
- 2.3: ECHO. Put ECHO: anywhere in a message and sucker repeats whatever comes after it in the reply — for triggering char-side script and lorebook keywords.
- 2.2: Added support for directly inputting webp file names or character image links when creating PNG character cards
- 2.1: updated deps, note about image fetching, list of mirrors
diff --git a/public/avalon/css-banner.mp4 b/public/avalon/css-banner.mp4
new file mode 100644
index 0000000..a1dd559
Binary files /dev/null and b/public/avalon/css-banner.mp4 differ
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 447e6d6..26c3c42 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -32,6 +32,8 @@ import {
DropdownMenuItem,
} from "@/components/ui/dropdown-menu";
import { DiscordBannerPermanent } from "@/components/ui/discord-banner-permanent";
+import { CssEditorBanner } from "@/components/ui/css-editor-banner";
+import { BannerCarousel } from "@/components/ui/banner-carousel";
import Script from "next/script";
interface CardDataV2 {
@@ -371,7 +373,7 @@ export default function Home() {
{/* Row 1: Title on left, Hamburger on right */}
@@ -936,6 +961,33 @@ export default function Home() {
+
+
Sep 2026 - CSS Editor for Janitor profiles
+
+
+ We'd like to introduce a CSS editor we have been working
+ on for Janitor profiles. It comes loaded with some simple
+ presets, and we plan to include more in the future, be it
+ ours or provided by the community. You can see changes occur
+ in live time and it should accurately represent the
+ behaviour of the CSS if used in your Janitor profile.
+