/* Syllabus pages (syllabus-src/build-syllabus.js), on top of /exams/exams.css + pyp.css. */
.syl-intro { line-height: 1.7; margin: 0 0 1rem; color: var(--text-secondary); }
.syl-links { margin-top: 0.75rem; font-size: 0.92rem; }
.syl-table { width: 100%; border-collapse: collapse; margin: 0.5rem 0 1rem; font-size: 0.93rem; }
.syl-table th, .syl-table td { text-align: left; vertical-align: top; padding: 0.55rem 0.6rem; border-bottom: 1px solid var(--border); }
.syl-table th { font-weight: 600; }
.syl-points { padding-left: 1.2rem; line-height: 1.65; }
.syl-points li { margin: 0.3rem 0; }
.syl-paper h2 { margin-bottom: 0.75rem; }
.syl-section + .syl-section { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px dashed var(--border); }
.syl-h { margin: 0.25rem 0 0.4rem; color: var(--primary); }
.syl-meta { font-weight: 500; font-size: 0.85em; color: var(--text-secondary); }
.syl-scope, .syl-heading { font-size: 0.93rem; color: var(--text-secondary); line-height: 1.6; margin: 0.25rem 0 0.6rem; }
.syl-heading { font-style: italic; }
.syl-topics { padding-left: 1.2rem; line-height: 1.65; margin: 0.25rem 0 0.75rem; }
.syl-topics li { margin: 0.25rem 0; }
.syl-topics li.syl-chapter { list-style: none; margin-left: -1.2rem; font-weight: 700; margin-top: 0.6rem; }
.syl-kn { display: block; font-size: 0.9em; color: var(--text-secondary); }
.syl-unit { border: 1px solid var(--border); border-radius: 12px; padding: 0.55rem 0.9rem; margin: 0.5rem 0; background: var(--surface); }
.syl-unit > summary { cursor: pointer; font-weight: 600; }
.syl-sources { padding-left: 1.2rem; line-height: 1.6; font-size: 0.92rem; word-break: break-word; }
@media (max-width: 640px) { .syl-table { font-size: 0.85rem; } .syl-table th, .syl-table td { padding: 0.45rem 0.4rem; } }
