Index: src/assets/css/style.css
===================================================================
--- src/assets/css/style.css	(revision 72bf38fe060df4fdf4c0a4995b950725f05ca544)
+++ src/assets/css/style.css	(revision cbe4f4ecdb97729fce5f1c9da048fae6b10e18a2)
@@ -2372,4 +2372,10 @@
     -webkit-tap-highlight-color: rgba(0,0,0,.1);
 }
+
+/* Transparent covers (PNG logos etc.) sit on white everywhere so they don't blend
+   into a dark theme. Opaque covers fully cover the white — no visible change. */
+.post-cover img,
+.post-list-cover img,
+.grid-tile:not(.grid-tile-gradient) { background-color: #fff; }
 .grid-tile:hover { transform: scale(0.98); }
 .grid-tile-overlay {
Index: src/views/pages/circle-feed.ejs
===================================================================
--- src/views/pages/circle-feed.ejs	(revision 72bf38fe060df4fdf4c0a4995b950725f05ca544)
+++ src/views/pages/circle-feed.ejs	(revision cbe4f4ecdb97729fce5f1c9da048fae6b10e18a2)
@@ -85,7 +85,3 @@
 .cirkel-empty { color: var(--ink-muted); text-align: center; margin: 2rem auto; }
 .cirkel-empty a { color: var(--accent); }
-/* Transparent PNG covers (e.g. logos) sit on white in the Cirkel so they don't
-   blend into the dark card. Opaque covers fully cover the white — no change. */
-.on-cirkel .grid-tile:not(.grid-tile-gradient) { background-color: #fff; }
-.on-cirkel .post-list-cover img { background-color: #fff; }
 </style>
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision 72bf38fe060df4fdf4c0a4995b950725f05ca544)
+++ src/views/shell.ejs	(revision cbe4f4ecdb97729fce5f1c9da048fae6b10e18a2)
@@ -198,5 +198,5 @@
 
 <!-- v9 stylesheet (full palette system) -->
-<link rel="stylesheet" href="/assets/css/style.css?v=51">
+<link rel="stylesheet" href="/assets/css/style.css?v=52">
 
 <!-- Audio player styles: loaded on every page so the mini-player works
