Index: src/views/pages/news.ejs
===================================================================
--- src/views/pages/news.ejs	(revision f1c50f9e8909d1873e736e05e5b2cb0c167154ba)
+++ src/views/pages/news.ejs	(revision 3597763ebd5304800443a7a6c9ae0473d1e00272)
@@ -137,4 +137,24 @@
   .tl-readmore:hover { text-decoration: underline; }
 
+  /* FEP-9098 custom emojis: small inline images, never treated as media. */
+  img.emoji { height: 1.35em; width: auto; margin: 0 .04em; vertical-align: -0.22em;
+    display: inline-block; border-radius: 0; background: none; box-shadow: none; }
+  .tl-content img.emoji, .tl-quote-body img.emoji { max-width: none; }
+
+  /* FEP-044f embedded quote card (mirror of the Shaer QuoteCard). */
+  .tl-quote { margin: .75rem 0 0; padding: .6rem .7rem; border-radius: 12px;
+    border: 1px solid color-mix(in srgb, var(--ink, #000) 12%, transparent);
+    background: color-mix(in srgb, var(--ink, #000) 3.5%, transparent); }
+  .tl-quote-head { display: flex; align-items: center; gap: .4rem; margin: 0 0 .35rem; min-width: 0; }
+  .tl-quote-avatar { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; object-fit: cover; background: #fff; }
+  .tl-quote-name { font-weight: 700; font-size: .85rem; color: var(--ink, inherit); white-space: nowrap; }
+  .tl-quote-handle { color: var(--ink-soft, #888); font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
+  .tl-quote-body { line-height: 1.5; font-size: .92rem; color: var(--ink-soft, #555);
+    overflow-wrap: anywhere; max-height: 16em; overflow: hidden; }
+  .tl-quote-body p { margin: .3rem 0; } .tl-quote-body p:first-child { margin-top: 0; } .tl-quote-body p:last-child { margin-bottom: 0; }
+  .tl-quote-body a { color: var(--accent, #06c); }
+  .tl-quote-media { display: block; margin: .45rem 0 0; }
+  .tl-quote-media img { max-width: 100%; height: auto; border-radius: 8px; }
+
   /* 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; }
