/* Majlis Academy · page parts not in majlis.css. Load after majlis.css. Tokens only. */

/* Figures that span the grid */
.fig{grid-column:1/-1;margin:0;min-width:0}
.half{grid-column:span 6;display:flex;flex-direction:column;gap:12px;min-width:0}
.span7{grid-column:span 7;min-width:0}
.span5{grid-column:span 5;display:flex;flex-direction:column;gap:12px;min-width:0}
.gap-t{margin-top:96px}

/* Tables on the sheet */
.tbl{width:100%;border-collapse:collapse;font-size:15px;line-height:24px}
.tbl th{text-align:left;vertical-align:bottom;font:500 11px/16px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:8px 16px 8px 0;border-bottom:1px solid var(--ink)}
.tbl td{vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px dashed var(--linework)}
.tbl td:first-child{font:400 20px/24px var(--f-cond);letter-spacing:-.005em}
.tbl td.id{font:500 13px/24px var(--f-mono);color:var(--ink-muted);white-space:nowrap}
.tbl .code{font:400 13px/24px var(--f-mono);color:var(--ink-muted)}
.tbl a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.tbl a:hover{color:var(--redline)}

/* Fact list for a course */
.facts{margin:0;display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:var(--gutter)}
.facts dt{font:500 11px/24px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding-block:12px;border-top:1px dashed var(--linework)}
.facts dd{margin:0;padding-block:12px;border-top:1px dashed var(--linework);font-size:15px;line-height:24px}

/* Sheet index on the stage */
.toc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter);border-top:1px dashed var(--stage-line);max-width:560px}
.toc a{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:10px 0;border-bottom:1px dashed var(--stage-line);text-decoration:none;font:500 12px/16px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-stage)}
.toc a span{color:var(--stage-muted)}
.toc a:hover{text-decoration:underline;text-underline-offset:4px}

/* Three steps on the stage */
.lineage.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.lineage.three::before{right:calc(33.333% - 6px)}

/* Accordion side notes with several parts */
.acc .rej p+p{margin-top:14px}
.acc .rej .tags{margin-top:4px}
.acc .rej .tags+p{margin-top:14px}
.tags .dec{border-style:dashed}
.lane{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:40px 0 12px}
.lane:first-child{margin-top:0}

/* Layered view elements with a second line */
.el small{display:block;font-size:10px;line-height:13px;color:var(--stage-muted)}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:20px}
.legend .el{display:inline-block}

/* Linked cells in the learning path */
.ss-cells a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}
.ss-cells a:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

/* Course blocks */
.course-body{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.course-body>*{min-width:0}
.course-body .side{grid-column:1/span 4;display:flex;flex-direction:column;gap:20px}
.course-body .mods{grid-column:6/span 7;display:flex;flex-direction:column;gap:16px}
.course-body .feats{margin-top:72px}
.tier .n small{font-size:24px;letter-spacing:0}

@media (max-width:1023px){
  .half,.span7,.span5{grid-column:1/-1}
  .half+.half,.span7+.span5{margin-top:56px}
  .course-body{grid-template-columns:repeat(8,minmax(0,1fr))}
  .course-body .side,.course-body .mods{grid-column:1/-1}
  .course-body .mods{margin-top:32px}
}
@media (max-width:639px){
  .gap-t{margin-top:64px}
  .course-body{grid-template-columns:minmax(0,1fr)}
  .course-body .feats{margin-top:48px}
  .toc{grid-template-columns:1fr}
  .lineage.three{grid-template-columns:1fr}
  .facts{grid-template-columns:96px minmax(0,1fr);column-gap:12px}
  /* Tables become stacked records */
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block}
  .tbl tr{padding:14px 0;border-bottom:1px dashed var(--linework)}
  .tbl tr:first-child{border-top:1px solid var(--ink)}
  .tbl td{border:0;padding:2px 0}
  .tbl td:first-child{margin-bottom:4px}
  .tbl td[data-label]{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}
  .tbl td[data-label]::before{content:attr(data-label);font:500 10px/24px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
}
