.journal-feed-shell { max-width: 820px; }
.journal-feed-shell .drakima-section-heading > a { display: inline-block; margin-top: .85rem; }
.journal-feed-shell .public-search-panel { margin: 1.75rem 0; }
.journal-feed-shell .public-search-panel label { display: block; margin-bottom: .6rem; }
.journal-feed-shell .public-search-panel > div { display: flex; gap: .65rem; }
.journal-feed-shell .public-search-panel input { flex: 1; min-width: 0; padding: .75rem 1rem; border: 1px solid #756088; border-radius: .45rem; background: #151121; color: #f2ecfa; font: inherit; font-size: max(1rem, 16px); }
.journal-feed-shell .public-search-panel input::placeholder { color: #bbb7cb; }
.journal-feed-shell .public-search-panel input:focus-visible { outline: 2px solid #e8b7ff; outline-offset: 2px; }
.journal-feed { display: grid; gap: 1.5rem; }
.journal-feed-post { overflow: hidden; padding: clamp(1.1rem, 3vw, 2rem); }
.journal-feed-post-meta { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.25rem; }
.journal-feed-avatar { display: grid; place-items: center; flex: 0 0 2.75rem; height: 2.75rem; border-radius: 50%; background: #302b48; color: #f2dcff; font-weight: 700; }
.journal-feed-post-meta a { font-weight: 700; }
.journal-feed-post-meta time { display: block; margin-top: .2rem; color: #bbb7cb; font-size: .85rem; }
.journal-feed-post-link { display: block; color: inherit; text-decoration: none; overflow-wrap: anywhere; border-radius: .4rem; }
.journal-feed-post-link:hover { color: inherit; text-decoration: none; }
.journal-feed-post-link:hover h2 { text-decoration: underline; text-underline-offset: .18em; }
.journal-feed-post-link:focus-visible { outline: 3px solid #e8b7ff; outline-offset: 6px; }
.journal-feed-post-link h2 { margin: 0 0 .75rem; font-size: clamp(1.3rem, 3vw, 1.8rem); line-height: 1.3; }
.journal-feed-post-link p { margin-bottom: 1.25rem; }
.journal-feed-cover { margin: 1rem 0; border-radius: .75rem; overflow: hidden; background: #13111c; }
.journal-feed-cover img { display: block; width: 100%; max-height: 520px; object-fit: contain; }
.journal-feed-read { display: inline-block; color: #e8b7ff; font-weight: 600; padding-top: .35rem; }
@media (max-width: 575px) {
    .journal-feed-shell .public-search-panel > div { flex-wrap: wrap; }
    .journal-feed-shell .public-search-panel input { min-width: 0; width: 100%; }
    .journal-feed-post-meta { align-items: flex-start; }
}
