/* Aleph Learn — knowledge base styles */
.container-narrow { max-width: 760px; margin: 0 auto; padding: 0 1.25rem; }
.hero-sm { padding: 3rem 0 2rem; }
.breadcrumb { font-size: .8125rem; color: var(--fg-muted); margin-bottom: 1rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.breadcrumb a { color: var(--fg-muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--fg); text-decoration: underline; }

.learn-search { display: flex; gap: .5rem; margin-top: 1.25rem; max-width: 560px; }
.learn-search input { flex: 1; padding: .75rem 1rem; border: 1px solid var(--border); border-radius: 8px; font: inherit; background: var(--bg); color: var(--fg); }
.learn-search input:focus { outline: 2px solid var(--teal-500, #0d9488); outline-offset: 1px; }

.learn-article { padding: 2rem 0 4rem; }
.article-header { margin-bottom: 2rem; }
.article-header h1 { margin: .5rem 0 .75rem; }
.article-excerpt { font-size: 1.125rem; color: var(--fg-muted); }

.prose { line-height: 1.7; font-size: 1.0625rem; }
.prose h2 { margin-top: 2rem; margin-bottom: .75rem; }
.prose h3 { margin-top: 1.5rem; margin-bottom: .5rem; }
.prose p { margin: .75rem 0; }
.prose ul, .prose ol { margin: .75rem 0; padding-left: 1.5rem; }
.prose li { margin: .25rem 0; }
.prose blockquote { border-left: 3px solid var(--teal-500, #0d9488); padding: .25rem 1rem; margin: 1rem 0; background: var(--bg-subtle); color: var(--fg-muted); border-radius: 0 6px 6px 0; }
.prose code { font-family: 'IBM Plex Mono', monospace; font-size: .9em; background: var(--bg-subtle); padding: .125rem .375rem; border-radius: 4px; }
.prose pre { background: var(--bg-subtle); padding: 1rem; border-radius: 8px; overflow-x: auto; }
.prose pre code { background: transparent; padding: 0; }
.prose a { color: var(--teal-600, #0f766e); }
.prose img { max-width: 100%; border-radius: 8px; }

.article-cta { margin: 2.5rem 0; padding: 1.5rem; background: var(--bg-subtle); border-radius: 12px; border: 1px solid var(--border); }
.article-cta h3 { margin: 0 0 .5rem; }
.article-cta p { margin: 0 0 1rem; color: var(--fg-muted); }

.related-articles { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.related-articles h2 { font-size: 1.25rem; margin-bottom: 1rem; }
.related-articles ul { list-style: none; padding: 0; margin: 0; }
.related-articles li { margin: .5rem 0; }
.related-articles a { color: var(--fg); text-decoration: none; font-weight: 500; }
.related-articles a:hover { text-decoration: underline; }

.article-list { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .article-list { grid-template-columns: 1fr 1fr; } }
.article-card { display: block; padding: 1.25rem; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: inherit; transition: border-color .15s; }
.article-card:hover { border-color: var(--teal-500, #0d9488); }
.article-card .module-tag { display: inline-block; font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--fg-muted); margin-bottom: .5rem; }
.article-card h3 { font-size: 1.0625rem; margin: 0 0 .375rem; }
.article-card p { margin: 0; color: var(--fg-muted); font-size: .9375rem; }

.article-list-empty { text-align: center; padding: 2rem 0; color: var(--fg-muted); }

.module-card { display: block; padding: 1.5rem; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: inherit; transition: border-color .15s, transform .15s; }
.module-card:hover { border-color: var(--teal-500, #0d9488); transform: translateY(-1px); }
.module-card h3 { margin: .5rem 0 .375rem; }
.module-card p { margin: 0; color: var(--fg-muted); font-size: .9375rem; }
.module-card .count { font-size: .75rem; color: var(--fg-subtle); margin-top: .5rem; }
