/* /syllabus pages (docs/51). Loaded after ice-profile-v1.css and ice-answers.css, and only
   on the four syllabus routes. Uses the profile tokens so light and dark follow the site. */

.page-syllabus .pf-main > .pf-panel{min-width:0}
.syl-code{font-weight:800;color:var(--pf-brand);font-variant-numeric:tabular-nums;white-space:nowrap}
.syl-table th[scope="row"]{font-weight:600}
.syl-table td{font-variant-numeric:tabular-nums;white-space:nowrap}
.syl-total th,.syl-total td{font-weight:800;border-top:2px solid var(--pf-line)}

/* download panel */
.syl-download{display:grid;grid-template-columns:minmax(92px,128px) minmax(0,1fr);gap:clamp(16px,3vw,28px);align-items:center}
.syl-download__cover{display:block;border-radius:4px;overflow:hidden;box-shadow:0 10px 26px rgb(12 26 56 / 22%)}
.syl-download__cover img{display:block;width:100%;height:auto}
.syl-download .pf-btnrow{margin-top:12px}
@media (max-width:560px){.syl-download{grid-template-columns:1fr}.syl-download__cover{width:112px}}

/* courses */
.syl-courses{display:grid;gap:8px;margin-top:16px}
.syl-course{border:1px solid var(--pf-line);border-radius:10px;background:var(--surface-tint,transparent)}
.syl-course > summary{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;
  padding:12px 40px 12px 14px;cursor:pointer;list-style:none;position:relative;font-size:14.5px;
}
.syl-course > summary::-webkit-details-marker{display:none}
.syl-course > summary::after{
  content:"+";position:absolute;right:14px;top:9px;font-size:20px;color:var(--pf-accent);transition:transform .15s;
}
.syl-course[open] > summary::after{transform:rotate(45deg)}
.syl-course__name{font-weight:700;color:var(--pf-ink)}
.syl-course__meta{font-size:12.5px;color:var(--pf-muted);white-space:nowrap}
@media (max-width:560px){
  .syl-course > summary{grid-template-columns:auto minmax(0,1fr)}
  .syl-course__meta{grid-column:1 / -1}
}
.syl-course:target{outline:2px solid var(--pf-accent);outline-offset:2px}

.syl-chapters{margin:0;padding:0 14px 4px 38px;display:grid;gap:2px}
.syl-chapters li{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:baseline;
  padding:6px 0;border-top:1px solid var(--pf-line);font-size:14px;line-height:1.45;color:var(--pf-ink);
}
.syl-chapters li::marker{color:var(--pf-muted);font-weight:700;font-size:12.5px}
.syl-chapters__h{font-size:12.5px;font-weight:700;color:var(--pf-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.syl-chapters__bar{grid-column:1 / -1;height:3px;border-radius:2px;background:var(--pf-line);overflow:hidden}
.syl-chapters__bar i{display:block;height:100%;background:var(--pf-accent)}
.syl-course__foot{margin:0;padding:8px 14px 14px;font-size:13px;line-height:1.5;color:var(--pf-muted)}

.syl-options{display:grid;gap:14px;padding:0 0 12px}
.syl-option h4{margin:0;padding:10px 14px 6px;font-size:14.5px;color:var(--pf-ink);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.syl-option h4 small{font-size:12.5px;font-weight:600;color:var(--pf-muted)}

/* hub */
.syl-progs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.syl-prog{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--pf-line);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;background:var(--surface-tint,transparent)}
.syl-prog img{display:block;width:100%;height:auto;aspect-ratio:420 / 250;object-fit:cover;object-position:50% 78%}
.syl-prog div{padding:12px 14px 14px}
.syl-prog b{display:block;font-size:15px;color:var(--pf-brand)}
.syl-prog span{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--pf-muted)}
.syl-prog{position:relative}
.syl-prog a{text-decoration:none}
/* The title link covers the card, so the whole card is clickable without a paragraph-long anchor. */
.syl-prog a::after{content:"";position:absolute;inset:0}
.syl-prog:hover b,.syl-prog a:focus-visible b{color:var(--ice-color-text-accent)}
@media (max-width:760px){.syl-progs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.syl-course > summary::after{transition:none}}

/* subject pages (/syllabus/subject/<slug>) */
.syl-objective{margin:14px 0;padding:12px 16px;border:1px solid var(--pf-line);background:var(--surface-tint,transparent);border-radius:8px}
.syl-objective p{margin:0;font-size:14px;line-height:1.6;color:var(--pf-ink)}
.syl-objective cite{display:block;margin-top:6px;font-size:12px;font-style:normal;font-weight:700;color:var(--pf-muted)}
.syl-ch{padding:14px 0 6px;border-top:1px solid var(--pf-line)}
.syl-ch:first-of-type{margin-top:12px}
.syl-ch h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px}
.syl-ch h3 span{color:var(--pf-accent);font-variant-numeric:tabular-nums}
.syl-ch h3 small{font-size:12.5px;font-weight:700;color:var(--pf-muted)}
.syl-ch__tip{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--pf-ink)}
.syl-ch__topics{margin:0 0 6px;padding:0;list-style:none;display:grid;gap:3px}
.syl-ch__topics > li{font-size:13.5px;line-height:1.5;color:var(--pf-muted)}
.syl-ch__topics .syl-num{display:inline-block;min-width:2.6em;color:var(--pf-brand);font-variant-numeric:tabular-nums}
.syl-ch__topics ul{margin:3px 0 3px 2.6em;padding-left:16px}
.syl-labs li,.syl-refs li{font-size:14px;line-height:1.55}
.syl-refs{margin:10px 0 0;padding-left:22px;display:grid;gap:6px;color:var(--pf-ink)}
.syl-links{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:6px}
.syl-links li{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;padding:8px 12px;border:1px solid var(--pf-line);border-radius:8px}
.syl-links a{text-decoration:none;font-size:14px}
.syl-links a .syl-num{margin-right:6px;font-weight:800}
.syl-links span{font-size:12.5px;color:var(--pf-muted)}
.syl-course__guide{margin:0;padding:0 14px 14px;font-size:13px}
.syl-guides{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.syl-guides li{padding:10px 12px;border:1px solid var(--pf-line);border-radius:8px}
.syl-guides a{text-decoration:none;font-weight:700}
.syl-guides span{display:block;font-size:12.5px;color:var(--pf-muted);margin-top:2px}
@media (max-width:620px){.syl-guides{grid-template-columns:1fr}}
