/* Cộng đồng Aurora: feed kiểu tạp chí, trang đọc bài có thanh tiến độ, prose cho nội dung Quill. */
.lt-side-panel { position: sticky; top: 88px; padding: 1.1rem 1.2rem; border-radius: var(--lt-r-lg); border: 1px solid var(--lt-line); background: var(--lt-surface); box-shadow: var(--lt-shadow); }
.lt-side-title { margin-bottom: .7rem; color: var(--lt-ink-3); font: 600 .7rem var(--lt-mono); letter-spacing: .1em; text-transform: uppercase; }
.lt-category-list .list-group-item { border: 0; border-radius: 12px; background: transparent; color: var(--lt-ink-2); font-weight: 600; }
.lt-category-list .list-group-item:hover { background: var(--lt-ocean-50); color: var(--lt-ocean); }
.lt-category-list .list-group-item.active { background: var(--lt-grad-strong); color: #fff; }

.lt-feed-card { overflow: hidden; border-radius: var(--lt-r-lg); border: 1px solid var(--lt-line); background: var(--lt-bg); box-shadow: var(--lt-shadow); transition: transform .25s var(--lt-ease), box-shadow .25s var(--lt-ease), border-color .25s; }
.lt-feed-card:hover { transform: translateY(-3px); border-color: var(--lt-line-blue); box-shadow: var(--lt-shadow-blue); }
/* Menu "..." đang mở thì không bị thẻ cắt (thẻ ngắn mất nút "Xoá bài") và nổi trên thẻ bên dưới. */
.lt-feed-card:has(.dropdown-menu.show) { position: relative; z-index: 5; overflow: visible; }
.lt-feed-card .card-header, .lt-feed-card .card-footer { background: transparent; }
.lt-feed-title { margin: 0 0 .4rem; color: var(--lt-ink); font-size: 1.2rem; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.lt-feed-excerpt { margin-bottom: .75rem; color: var(--lt-ink-2); }
.lt-feed-cover { display: block; width: 100%; max-height: 460px; object-fit: cover; }
.cursor-pointer { cursor: pointer; }
.post-action-btn { border: 0; background: transparent; }
.post-action-btn:hover { background: var(--lt-ocean-50); color: var(--lt-ocean) !important; }

.lt-author-avatar { display: grid; flex: none; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: var(--lt-grad-strong); color: #fff; font-weight: 700; font-size: 1.1rem; }
.lt-author-avatar-sm { width: 35px; height: 35px; font-size: .9rem; }
.lt-author-avatar-lg { width: 50px; height: 50px; font-size: 1.4rem; }
.lt-cat-chip { display: inline-block; padding: .2rem .65rem; border-radius: 999px; border: 1px solid var(--lt-line-blue); background: var(--lt-ocean-50); color: var(--lt-ocean); font: 600 .72rem var(--lt-mono); }
.lt-cat-chip-lg { padding: .35rem .9rem; font-size: .85rem; }

.modal-xl { max-width: 1200px; }
.lt-post-modal { height: 90vh; }
.lt-post-modal-main { overflow-y: auto; border-right: 1px solid var(--lt-line); background: var(--lt-bg-soft); }
/* Bài dài: màn nhỏ cuộn cả khung (hai cột xếp dọc), màn lớn cột bài viết tự cuộn. */
.lt-post-modal > .row { overflow-y: auto; }
@media (min-width: 992px) {
  .lt-post-modal-main { height: 100%; }
}
.lt-post-modal-cover { max-width: 100%; max-height: 600px; border-radius: var(--lt-r-md); object-fit: contain; }
.lt-scroll-y { overflow-y: auto; }
.lt-cover-thumb { max-height: 90px; }
.lt-no-resize { resize: none; }
.lt-round-btn { flex: none; width: 40px; height: 40px; padding: 0; border-radius: 50%; }
.comment-bubble { display: inline-block; padding: 10px 15px; border-radius: 18px; background: var(--lt-ocean-50); color: var(--lt-ink); }


.lt-prose { color: var(--lt-ink); font-size: 1.1rem; line-height: 1.8; overflow-wrap: anywhere; }
.lt-prose-sm { font-size: 1rem; line-height: 1.65; }
.lt-prose img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto; border-radius: var(--lt-r-sm); box-shadow: var(--lt-shadow); }
.lt-prose h2, .lt-prose h3 { margin: 2rem 0 1rem; font-weight: 800; letter-spacing: -.02em; }
.lt-prose p { margin-bottom: 1.4rem; }
.lt-prose a { color: var(--lt-ocean); }
.lt-prose blockquote { margin: 0 0 1.4rem; padding: .75rem 1.25rem; border-left: 4px solid var(--lt-ocean); border-radius: 0 12px 12px 0; background: var(--lt-ocean-50); font-style: italic; }
.lt-prose pre.ql-syntax { overflow-x: auto; margin-bottom: 1.5rem; padding: 1rem; border-radius: 12px; background: #0f172a; color: #e2e8f0; font-family: var(--lt-code); }

.lt-form-card { border-radius: var(--lt-r-lg); }
.lt-editor { height: 400px; border: none; font-size: 16px; }

@media (max-width: 991.98px) {
  .lt-side-panel { position: static; }
  .lt-post-modal-main { border-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .lt-feed-card, .lt-feed-card:hover { transition: none; transform: none; }
}
