body { letter-spacing: .2px; }
.navbar-brand { letter-spacing: .6px; }
.navbar .nav-link.active { font-weight: 600; }
.card { border-radius: 14px; }
.btn { border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; font-size: 14px; line-height: 1.2; padding: .45rem .9rem; gap: .35rem; }
.btn-sm { font-size: 14px; padding: .45rem .9rem; line-height: 1.2; }
.admin-action-buttons .btn { min-width: 140px; }
.form-control, .form-select { border-radius: 12px; }
.shadow-soft { box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.hero { background: radial-gradient(1200px 400px at 20% 0%, rgba(13,110,253,.12), transparent), radial-gradient(900px 500px at 90% 10%, rgba(255,193,7,.16), transparent); border-radius: 18px; }
.admin-shell { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.admin-aside { position: sticky; top: 0; height: 100vh; overflow: auto; }
.admin-main { min-width: 0; }
@media (max-width: 992px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-aside { position: relative; height: auto; }
}
.list-group-item.active { background: rgba(13,110,253,.10); color: var(--bs-body-color); border-color: rgba(13,110,253,.18); }
.list-group-item.active:hover { background: rgba(13,110,253,.14); }
.table td, .table th { vertical-align: middle; }
.badge-soft { background: rgba(13,110,253,.12); color: #0d6efd; }
.link-muted { color: var(--bs-secondary-color); text-decoration: none; }
.link-muted:hover { color: var(--bs-body-color); }
.reader { white-space: pre-wrap; font-size: var(--reader-font-size, 18px); line-height: var(--reader-line-height, 1.9); padding: 16px; border-radius: 12px; min-height: 60vh; }
.reader { scroll-behavior: smooth; }
@media (max-width: 576px) { .reader { padding: 14px; } }
.reader-paper { background: #fffdf7; color: #1f2328; }
.reader-light { background: #ffffff; color: #1f2328; }
.reader-dark { background: #0f1115; color: #e6e6e6; }
.reader-dark mark { background: rgba(255, 193, 7, .35); color: inherit; }
.line-clamp-1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.book-card { transition: transform .16s ease, box-shadow .16s ease; }
.book-card:hover { transform: translateY(-2px); box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .12) !important; }
.book-cover { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: var(--bs-tertiary-bg); }
.pricing-card { transition: transform .16s ease, box-shadow .16s ease; }
.pricing-card:hover { transform: translateY(-2px); box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .12) !important; }
.level-tile { background: linear-gradient(135deg, rgba(13,110,253,.08), rgba(255,193,7,.10)); border: 1px solid rgba(0,0,0,.06); }
.option-card { border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: 12px 14px; background: var(--bs-body-bg); }
.option-card:hover { background: rgba(13,110,253,.04); }
.article-content img { max-width: 100%; height: auto; border-radius: 14px; }
.article-content pre { background: rgba(0,0,0,.04); padding: 12px 14px; border-radius: 12px; overflow: auto; }
.article-content blockquote { border-left: 4px solid rgba(0,0,0,.12); padding-left: 12px; color: var(--bs-secondary-color); }
