html { scroll-behavior: smooth; }
.pdf-modal-backdrop { background: rgba(15, 23, 42, 0.85); backdrop-filter: blur(4px); }
.card-hover { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(30, 58, 138, 0.12); }
.tab-btn.active { border-bottom: 2px solid #2563eb; color: #1e3a5f; font-weight: 600; }
.prose-custom h3 { font-size: 1.25rem; font-weight: 700; margin-top: 1.5rem; margin-bottom: 0.5rem; color: #1e3a5f; }
.prose-custom h4 { font-size: 1.1rem; font-weight: 600; margin-top: 1.25rem; margin-bottom: 0.4rem; color: #1e40af; }
.prose-custom p { margin-bottom: 0.75rem; line-height: 1.7; }
.prose-custom ul, .prose-custom ol { margin-left: 1.5rem; margin-bottom: 0.75rem; }
.prose-custom ul { list-style: disc; } .prose-custom ol { list-style: decimal; }
.prose-custom li { margin-bottom: 0.35rem; line-height: 1.6; }
.avatar-placeholder { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1e3a5f, #2563eb); color: #fff; font-weight: 700; font-size: 1.5rem; }
.upload-area { border: 2px dashed #93c5fd; transition: border-color 0.2s, background 0.2s; }
.upload-area:hover { border-color: #2563eb; background: #eff6ff; }