Index: src/assets/css/style.css
===================================================================
--- src/assets/css/style.css	(revision eefd30286365ba17e55cb461eb4f00242982db11)
+++ src/assets/css/style.css	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
@@ -2398,10 +2398,10 @@
 .grid-tile-overlay-src {
     color: #fff; opacity: .85;
-    font-size: .72rem; margin-top: .2rem;
+    font-size: 1.44rem; margin-top: .2rem;
     display: inline-flex; align-items: center;
 }
 .grid-tile-overlay-src::before { content: "⛓"; margin-right: .25rem; font-size: .9em; }
 .grid-tile-gradient-src {
-    margin-top: .35rem; font-size: .72rem; opacity: .85;
+    margin-top: .35rem; font-size: 1.44rem; opacity: .85;
     color: var(--ink-soft);
     display: inline-flex; align-items: center;
Index: src/routes/circle.js
===================================================================
--- src/routes/circle.js	(revision eefd30286365ba17e55cb461eb4f00242982db11)
+++ src/routes/circle.js	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
@@ -33,4 +33,8 @@
   const posts = ActivityPubService.getCirkelPosts(site.slug, 80).map((r) => {
     const text = htmlToText(r.content);
+    // Show ONLY the title (the bold first line a Klonkt note carries), not the whole
+    // body. Title-less notes (e.g. plain Mastodon) fall back to a short text snippet.
+    const titleM = (r.content || '').match(/^\s*<p>\s*<strong>([\s\S]*?)<\/strong>/i);
+    const realTitle = titleM ? htmlToText(titleM[1]).trim() : '';
     const image = mediaImage(r.media_json);
     const name = r.author_name || r.author_handle || 'Onbekend';
@@ -38,5 +42,7 @@
       id: 'ap-' + r.id,
       slug: '',
-      title: text ? (text.length > 90 ? text.slice(0, 90) + '…' : text) : name,
+      title: realTitle
+        ? (realTitle.length > 90 ? realTitle.slice(0, 90) + '…' : realTitle)
+        : (text ? (text.length > 90 ? text.slice(0, 90) + '…' : text) : name),
       excerpt: '',
       cover_image_url: image ? image.url : null,
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision eefd30286365ba17e55cb461eb4f00242982db11)
+++ src/views/shell.ejs	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
@@ -198,5 +198,5 @@
 
 <!-- v9 stylesheet (full palette system) -->
-<link rel="stylesheet" href="/assets/css/style.css?v=54">
+<link rel="stylesheet" href="/assets/css/style.css?v=55">
 <script>
 /* iOS safe-area, built by hand. env(safe-area-inset-top) resolves to 0 on this iOS in
