/* MIT 6.1810 interactive-textbook layer: long-form first, practice at the point of need. */
body.mit61810-textbook .page { width: min(1120px, calc(100% - 36px)); }
.lesson-hero { max-width: 900px; }
.lesson-pager { display:flex; gap:18px; justify-content:flex-end; min-height:1.5rem; margin:-1.6rem 0 1.2rem; font-size:.8rem; }
.lesson-pager a { color:var(--muted); text-decoration:none; }
.learning-map { margin-top:30px; padding:22px 0 22px 20px; border-block:1px solid var(--line); border-left:3px solid var(--accent); }
.learning-map h2 { margin:4px 0 10px; font-size:clamp(1.45rem,3vw,2rem); }
.learning-map-kicker,.lesson-build-kicker,.concept-lab-eyebrow,.reasoning-label { margin:0; color:var(--accent-dark); font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.learning-problem { max-width:760px; margin:0; color:var(--muted); }
.learning-flow { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:16px; }
.learning-flow-node { padding:5px 9px; border:1px solid var(--line); border-radius:999px; background:rgba(18,22,15,.6); font-size:.8rem; font-weight:750; }
.learning-flow-arrow { color:var(--muted); }
.lesson-shell { display:grid; grid-template-columns:minmax(0,820px) minmax(200px,230px); gap:48px; align-items:start; margin-top:24px; }
.lesson-main { min-width:0; }
.lesson-main h2,.lesson-main h3,.before-start,.deep-quiz,.open-practice,.explain-checklist,.reasoning-start { scroll-margin-top:92px; }
.lesson-toc { position:sticky; top:88px; max-height:calc(100vh - 112px); overflow:auto; padding:18px 0 18px 18px; border-left:1px solid var(--line); }
.lesson-toc-label { display:flex; justify-content:space-between; margin:0 0 12px; color:var(--muted); font-size:.7rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.lesson-toc-progress { color:var(--accent); font-variant-numeric:tabular-nums; }
.lesson-toc nav { display:grid; gap:3px; }
.lesson-toc a,.lesson-toc-mobile a { padding:6px 9px; border-left:2px solid transparent; color:var(--muted); font-size:.82rem; line-height:1.35; text-decoration:none; }
.lesson-toc a:hover,.lesson-toc a:focus-visible,.lesson-toc a.is-active,.lesson-toc-mobile a.is-active { border-left-color:var(--accent); color:var(--ink); background:color-mix(in srgb,var(--accent-soft) 38%,transparent); }
.lesson-toc-mobile { display:none; }
.before-start,.deep-quiz,.open-practice,.explain-checklist,.reasoning-start { margin:42px 0; }
.before-start,.open-practice,.explain-checklist,.reasoning-start { padding:24px 0; border-block:1px solid var(--line); }
.before-start h2,.deep-quiz h2,.open-practice h2,.explain-checklist h2,.reasoning-start h2 { margin-top:0; }
.before-start-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 24px; margin-top:18px; }
.before-prompt,.open-prompt,.deep-quiz-item { padding:13px 0; border-bottom:1px solid var(--line); }
.before-prompt summary,.open-prompt summary,.deep-quiz-item summary,.legacy-quiz-bank>summary { cursor:pointer; font-weight:750; }
.before-prompt p,.open-guide p { margin-bottom:0; color:var(--muted); }
.claim-legend { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:20px 0 0; }
.claim-legend span { padding:4px 8px; border:1px solid var(--line); border-radius:999px; background:var(--paper-raised); font-size:.76rem; }
.reasoning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.reasoning-grid article { padding:16px 0; border-bottom:1px solid var(--line); }
.reasoning-grid article p:last-child { margin:.45rem 0 0; }
.teaching-block { position:relative; margin:30px 0; padding:24px 22px 20px; border:0; border-block:1px solid var(--line); border-left:3px solid var(--accent); border-radius:0; background:color-mix(in srgb,var(--accent-soft) 22%,transparent); box-shadow:none; }
.teaching-block::before { display:block; margin-bottom:10px; color:var(--accent-dark); content:attr(data-block-label); font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.teaching-block.misconception-block { border-left-color:var(--warn); background:color-mix(in srgb,var(--warn-soft) 32%,transparent); }
.concept-lab { margin:42px 0; }
.concept-lab-eyebrow,.follow-up-label { margin-bottom:12px; }
.practice-question { margin:0; }
.practice-prompt { margin:0 0 14px; font-weight:700; }
.practice-options { display:grid; gap:9px; margin:0; padding:0; border:0; }
.practice-option { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.03); cursor:pointer; }
.practice-option:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.practice-option input { margin-top:.28rem; accent-color:var(--accent); }
.practice-option.is-correct { border-color:#3fcf72; background:rgba(99,230,140,.1); }
.practice-option.is-selected-wrong { border-color:#ff8a75; background:rgba(255,107,94,.1); }
.practice-actions { display:flex; gap:10px; margin-top:14px; }
.practice-submit,.practice-retry { padding:8px 13px; border:1px solid var(--accent); border-radius:7px; background:var(--accent); color:#07130c; font:inherit; font-size:.82rem; font-weight:750; cursor:pointer; }
.practice-retry { background:transparent; color:var(--accent-dark); }
.practice-explanation { margin-top:14px; }
.practice-explanation.is-empty { color:var(--warn); }
.practice-result { margin-bottom:8px; font-weight:800; }
.practice-explanation.is-correct .practice-result { color:#9ef0bb; }
.practice-explanation.is-incorrect .practice-result { color:#ffb3a8; }
.option-reasons { margin:.8rem 0 0; padding-left:1.4rem; color:var(--muted); font-size:.88rem; }
.option-reasons li { margin:.42rem 0; }
.option-reasons .is-answer { color:var(--ink); }
.follow-up { margin-top:18px; padding:16px 0 0; border-top:1px dashed var(--line); }
.follow-up--required { padding-left:15px; border-left:3px solid var(--warn); }
.follow-up--optional>summary { cursor:pointer; color:var(--accent-dark); font-weight:750; }
.deep-quiz { padding:26px 24px; border:1px solid var(--line); border-radius:12px; background:rgba(18,22,15,.6); }
.deep-quiz-progress { color:var(--muted); font-size:.82rem; }
.legacy-quiz-bank { margin:18px 0 8px; }
.legacy-quiz-bank>.quiz { margin:14px 0; }
.legacy-quiz-bank .quiz button { white-space:normal; text-align:left; }
.deep-quiz-item>summary { padding:7px 0; color:var(--accent-dark); }
.deep-quiz-item>.practice-question { padding-top:14px; }
.open-practice details { max-width:760px; }
.explain-checklist ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; padding:0; list-style:none; }
.explain-checklist li { display:flex; gap:9px; }
.explain-checklist li span:first-child { color:var(--accent); font-size:1.1rem; }
.lesson-build-bridge { margin:34px 0 52px; padding:22px; border-left:3px solid var(--accent); background:color-mix(in srgb,var(--accent-soft) 26%,transparent); }
.lesson-build-bridge h3 { margin:.35rem 0; }
.lesson-build-bridge a { font-weight:800; }
body.mit61810-textbook>.pb-toc { display:none!important; }
@media (max-width:1040px) {
  .lesson-shell { display:block; }
  .lesson-toc { display:none; }
  .lesson-toc-mobile { display:block; margin-top:20px; border-block:1px solid var(--line); }
  .lesson-toc-mobile summary { padding:12px 0; cursor:pointer; font-weight:800; }
  .lesson-toc-mobile nav { display:grid; padding:0 0 14px; }
}
@media (max-width:720px) {
  body.mit61810-textbook .page { width:min(100% - 24px,1120px); }
  .lesson-pager { justify-content:flex-start; margin:0 0 1rem; }
  .before-start-grid,.reasoning-grid,.explain-checklist ul { grid-template-columns:1fr; }
  .learning-map { padding-left:14px; }
  .learning-flow-arrow { display:none; }
  .learning-flow-node { border-radius:6px; }
  .deep-quiz { padding:20px 14px; }
  .teaching-block { padding-inline:15px; }
}
@media print {
  .lesson-toc,.lesson-toc-mobile,.practice-actions,.lesson-pager { display:none!important; }
  .lesson-shell { display:block; }
  .practice-option { break-inside:avoid; }
}
