Index: src/views/pages/timeline.ejs
===================================================================
--- src/views/pages/timeline.ejs	(revision c69267f118d45ffa890143b4efefd284887407b3)
+++ src/views/pages/timeline.ejs	(revision fdd0d617dee68a696ce8734501d76d4cb9a9b46e)
@@ -33,6 +33,6 @@
           %>
           <% if (imgs.length) { %>
-            <div class="tl-media-grid<%= imgs.length === 1 ? ' is-single' : '' %>" data-n="<%= imgs.length %>">
-              <% imgs.slice(0, 4).forEach(function(m){ %>
+            <div class="tl-media">
+              <% imgs.forEach(function(m){ %>
                 <a class="tl-media-img" href="<%= m.url %>" target="_blank" rel="noopener"><img src="<%= m.url %>" alt="" loading="lazy" decoding="async"></a>
               <% }); %>
@@ -94,13 +94,8 @@
   .tl-content img { max-width: 100%; height: auto; border-radius: 10px; background: #fff; }
 
-  .tl-media-grid { display: grid; gap: .3rem; margin: .75rem 0 0; grid-template-columns: 1fr 1fr;
-    border-radius: 14px; overflow: hidden; }
-  .tl-media-grid.is-single { grid-template-columns: 1fr; }
-  .tl-media-grid[data-n="3"] .tl-media-img:first-child { grid-row: span 2; }
-  .tl-media-img { display: block; aspect-ratio: 16/11; background: #fff; overflow: hidden; }
-  .tl-media-grid.is-single .tl-media-img { aspect-ratio: auto; max-height: 480px; background: #fff; }
-  .tl-media-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
-  .tl-media-grid.is-single .tl-media-img img { object-fit: contain; max-height: 480px; }
-  .tl-media-img:hover img { transform: scale(1.03); }
+  /* Always show the FULL image at its natural ratio — never cropped, no letterbox. */
+  .tl-media { display: flex; flex-direction: column; gap: .4rem; margin: .75rem 0 0; }
+  .tl-media-img { display: block; border-radius: 12px; overflow: hidden; background: #fff; }
+  .tl-media-img img { width: 100%; height: auto; display: block; }
 
   .tl-media-video, .tl-media-audio { width: 100%; margin: .75rem 0 0; border-radius: 12px; display: block; }
Index: src/views/partials/fedi-tabs.ejs
===================================================================
--- src/views/partials/fedi-tabs.ejs	(revision c69267f118d45ffa890143b4efefd284887407b3)
+++ src/views/partials/fedi-tabs.ejs	(revision fdd0d617dee68a696ce8734501d76d4cb9a9b46e)
@@ -19,5 +19,5 @@
 <style>
 /* All 5 tabs share the width equally and always fit (truncate with ellipsis if needed). */
-.fedi-tabs { display: flex; margin: 0 0 1.25rem;
+.fedi-tabs { display: flex; margin: 1.25rem 0 1.5rem;
   border-bottom: 1px solid color-mix(in srgb, var(--ink, #000) 10%, transparent); }
 .fedi-tab { flex: 1 1 0; min-width: 0; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
