Index: src/assets/css/style.css
===================================================================
--- src/assets/css/style.css	(revision a64d7051ecc17fc913a8a15fca76be421fbfd720)
+++ src/assets/css/style.css	(revision 3038fc98d6a4082a8669142765a148803ad4a4ba)
@@ -1932,4 +1932,8 @@
     overflow: hidden;
     border-radius: var(--radius);
+    /* Accent-gradient placeholder while the cover image loads (image fades in over it). */
+    background-image: linear-gradient(135deg,
+        color-mix(in srgb, var(--accent, #888) 22%, var(--paper-2, var(--paper))) 0%,
+        color-mix(in srgb, var(--accent, #888) 6%, var(--paper-2, var(--paper))) 100%);
 }
 .post-list-cover img {
@@ -1937,6 +1941,9 @@
     object-fit: cover;
     display: block;
-    filter: blur(.4px); /* subtle smoothing of downscaled line-art covers */
-}
+    background-color: #fff;            /* transparent logos sit on white once loaded */
+    filter: blur(.4px);               /* subtle smoothing of downscaled line-art covers */
+    transition: opacity .4s ease;
+}
+.post-list-cover img.is-loading { opacity: 0; }
 .post-list-body { display: flex; flex-direction: column; gap: .35rem; }
 .post-list-meta {
