/* 新课件正文：沿用旧版阅读壳，为新副本各章补充图解、标签卡与跟做填写区。 */
.markdown-body .new-course { --sketch-accent:var(--primary); --sketch-line:#e6e0ff; }
.markdown-body .new-course > h2,
.markdown-body .new-course .full-path h2,
.markdown-body .new-course .story h2,
.markdown-body .new-course .map-header h2 { color:var(--text); font-size:1.68rem; margin:2.2rem 0 1rem; }
.markdown-body .new-course > h2 { border-bottom:1px solid var(--border); padding-bottom:.65rem; }
.markdown-body .new-course p { line-height:1.85; }
.markdown-body .new-course .story p { font-size:1.04rem; margin:1rem 0; }
.markdown-body .new-course .lesson-figure,
.markdown-body .new-course .sketch-figure { margin:1.9rem 0 2rem; padding:1.3rem 1.5rem .9rem; border:1px solid var(--border); border-radius:12px; background:#fcfbff; color:var(--text); text-align:center; }
.markdown-body .new-course .lesson-figure svg,
.markdown-body .new-course .sketch-figure svg { width:100%; max-width:830px; height:auto; display:block; margin:auto; }
.markdown-body .new-course .sketch-figure svg text { fill:#2c2d34; }
.markdown-body .new-course figcaption { font-size:.88rem; color:var(--primary); margin-top:.55rem; }
.markdown-body .new-course .story-underline { border:0; border-top:1px solid var(--border); margin:2.1rem 0; }
.markdown-body .new-course .full-path-kicker { color:var(--primary); font-size:.83rem; font-weight:800; letter-spacing:.08em; }
.markdown-body .new-course .full-path h2 { margin:.55rem 0 1rem; }
.markdown-body .new-course .full-path-intro { font-size:1.08rem; color:var(--text); }
.markdown-body .new-course .path-figure { margin:1.5rem 0; padding:1.25rem; border:1px solid var(--border); border-radius:16px; background:var(--bg-secondary); }
.markdown-body .new-course .path-ends { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1rem; font-size:.9rem; font-weight:800; }
.markdown-body .new-course .path-start,.markdown-body .new-course .path-end { padding:.48rem .75rem; border-radius:999px; }
.markdown-body .new-course .path-start { color:var(--text-secondary); background:var(--surface); }
.markdown-body .new-course .path-end { color:#0b695b; background:#c9f4e8; }
.markdown-body .new-course .path-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem 1.2rem; padding:0; margin:0; list-style:none; }
.markdown-body .new-course .path-steps li { position:relative; display:flex; flex-direction:column; min-width:0; min-height:178px; padding:1rem; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.markdown-body .new-course .path-steps li:not(:nth-child(4n))::after { content:"→"; position:absolute; right:-1.08rem; top:45%; z-index:1; color:var(--primary); font-size:1.15rem; font-weight:800; }
.markdown-body .new-course .path-steps svg { width:45px; height:45px; fill:none; stroke:var(--primary); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.markdown-body .new-course .path-steps b { display:block; margin:.42rem 0 .25rem; color:var(--text); font-size:1.02rem; }
.markdown-body .new-course .path-steps span { color:var(--text-secondary); font-size:.87rem; line-height:1.55; }
.markdown-body .new-course .path-figure figcaption { margin-top:1rem; color:var(--text-muted); text-align:left; line-height:1.6; }
.markdown-body .new-course .full-path-takeaway { padding:1rem 1.1rem; border-left:4px solid var(--primary); border-radius:8px; background:var(--primary-soft); }
.markdown-body .new-course .map-frame { border:1px solid var(--border); border-radius:16px; padding:1.4rem; background:var(--surface); }
.markdown-body .new-course .map-header { margin-bottom:1.2rem; }
.markdown-body .new-course .map-header h2 { margin:0 0 .25rem; }
.markdown-body .new-course .map-header p { color:var(--text-muted); margin:0; }
.markdown-body .new-course .root { display:flex; gap:.85rem; align-items:center; padding:1rem 1.1rem; margin:0 0 1.1rem; border:1px solid var(--primary); border-radius:12px; background:var(--primary-soft); }
.markdown-body .new-course .root-mark { display:grid; place-items:center; width:38px; height:38px; flex:none; border-radius:10px; color:#fff; background:var(--primary); font-weight:800; }
.markdown-body .new-course .root strong { display:block; color:var(--text); font-size:1.04rem; }
.markdown-body .new-course .root small { display:block; color:var(--text-muted); font-size:.8rem; }
.markdown-body .new-course .spine { display:none; }
.markdown-body .new-course .phase-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.markdown-body .new-course .phase { border:1px solid var(--border); border-top:3px solid var(--sketch-accent); border-radius:11px; background:var(--bg-secondary); min-width:0; overflow:hidden; }
.markdown-body .new-course .phase-head { padding:1rem 1.05rem .8rem; border-bottom:1px solid var(--border); }
.markdown-body .new-course .phase-no { color:var(--sketch-accent); font-size:.77rem; letter-spacing:.08em; font-weight:800; }
.markdown-body .new-course .phase-head h3 { margin:.25rem 0 .3rem; color:var(--text); font-size:1.15rem; }
.markdown-body .new-course .phase-head .intent { margin:0; color:var(--text-secondary); font-size:.9rem; }
.markdown-body .new-course .phase-body { padding:.7rem 1.05rem 1rem; }
.markdown-body .new-course .field { padding:.6rem 0; border-bottom:1px solid var(--border); }
.markdown-body .new-course .field:last-child { border:0; }
.markdown-body .new-course .field-label { display:block; color:var(--sketch-accent); font-size:.77rem; font-weight:800; margin-bottom:.16rem; }
.markdown-body .new-course .field p { margin:0; font-size:.92rem; line-height:1.7; }
.markdown-body .new-course .question { font-weight:700; }
.markdown-body .new-course .deliverable { margin-top:.25rem; padding:.55rem .65rem; border-left:3px solid var(--sketch-accent)!important; background:var(--surface); }
.markdown-body .new-course .map-foot,
.markdown-body .new-course .model-note { margin-top:1.2rem; padding:.7rem .9rem; border-left:3px solid var(--primary); border-radius:4px; background:var(--primary-soft); color:var(--text-secondary); font-size:.87rem; }
.markdown-body .new-course .map-foot .dot { color:var(--primary); padding-right:.3rem; }
.markdown-body .new-course .section-label { display:flex; gap:.6rem; align-items:baseline; margin:2.4rem 0 1rem; border-top:1px solid var(--border); padding-top:1.2rem; }
.markdown-body .new-course .section-label span { font-size:.78rem; color:var(--primary); font-weight:800; }
.markdown-body .new-course .section-label h2 { margin:0; border:0; font-size:1.5rem; }
.markdown-body .new-course .grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.markdown-body .new-course .panel { border:1px solid var(--border); border-radius:11px; padding:1.1rem; background:var(--bg-secondary); }
.markdown-body .new-course .panel h3 { margin:0 0 .8rem; font-size:1.08rem; }
.markdown-body .new-course .question-list { display:grid; gap:.5rem; }
.markdown-body .new-course .question-list div { padding:.5rem .7rem; background:var(--surface); border-radius:7px; font-size:.88rem; }
.markdown-body .new-course .question-list b { display:block; color:var(--primary); }
.markdown-body .new-course .rule-list { padding-left:1.3rem; margin:0; }
.markdown-body .new-course .rule-list li { margin:.48rem 0; }
.markdown-body .new-course .practice { margin:1.2rem 0; padding:1.2rem; border:1px solid var(--border); border-left:4px solid var(--primary); border-radius:10px; background:var(--bg-secondary); }
.markdown-body .new-course .practice h3 { margin:0 0 .5rem; }
.markdown-body .new-course .practice .output { margin-top:.8rem; color:var(--primary); font-weight:700; }
.markdown-body .new-course .step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1.25rem 0; }
.markdown-body .new-course .step-card { padding:1rem; min-height:155px; border:1px solid var(--border); border-radius:11px; background:var(--bg-secondary); }
.markdown-body .new-course .step-no { display:block; width:31px; height:31px; border:2px solid var(--sketch-accent); border-radius:50%; color:var(--sketch-accent); font-size:.8rem; text-align:center; line-height:27px; font-weight:800; }
.markdown-body .new-course .step-card strong { display:block; font-size:1rem; margin:.55rem 0 .3rem; }
.markdown-body .new-course .step-card p { margin:0; color:var(--text-secondary); font-size:.83rem; line-height:1.55; }
.markdown-body .new-course .case-study { margin:1.6rem 0 2.3rem; border-top:2px solid var(--sketch-accent); padding-top:1.1rem; }
.markdown-body .new-course .case-kicker { color:var(--sketch-accent); font-size:.78rem; font-weight:800; letter-spacing:.08em; }
.markdown-body .new-course .case-study h3 { font-size:1.35rem; margin:.32rem 0 .6rem; }
.markdown-body .new-course .case-study > p { color:var(--text-secondary); }
.markdown-body .new-course .table-scroll { overflow-x:auto; margin-top:1rem; border:1px solid var(--border); border-radius:10px; }
.markdown-body .new-course .case-table { width:100%; min-width:720px; table-layout:fixed; border-collapse:collapse; font-size:.84rem; line-height:1.5; }
.markdown-body .new-course .case-table th,
.markdown-body .new-course .case-table td { padding:.68rem .6rem; vertical-align:top; text-align:left; border:1px solid var(--border); overflow-wrap:anywhere; }
.markdown-body .new-course .case-table thead th { background:var(--primary-soft); color:var(--text); font-weight:800; }
.markdown-body .new-course .case-table tbody th { width:12%; color:var(--sketch-accent); font-weight:800; }
.markdown-body .new-course .case-table th:nth-child(1) { width:12%; }
.markdown-body .new-course .case-table th:nth-child(2) { width:17%; }
.markdown-body .new-course .case-table th:nth-child(3) { width:22%; }
.markdown-body .new-course .case-table th:nth-child(4) { width:23%; }
.markdown-body .new-course .case-table th:nth-child(5) { width:26%; }
.markdown-body .new-course .case-table tbody tr:nth-child(even) { background:var(--bg-secondary); }
.markdown-body .new-course .double-start { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; margin:1rem 0; }
.markdown-body .new-course .double-start div { padding:1rem; border:1px solid var(--border); border-left:3px solid var(--sketch-accent); border-radius:8px; background:var(--bg-secondary); }
.markdown-body .new-course .double-start b { display:block; margin-bottom:.35rem; color:var(--text); }
.markdown-body .new-course .double-start span { color:var(--text-secondary); }
.markdown-body .new-course .editor-bar { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; padding:.8rem; margin-bottom:1.5rem; border:1px solid var(--border); border-radius:9px; background:var(--bg-secondary); }
.markdown-body .new-course .editor-bar button { padding:.35rem .7rem; border:1px solid var(--border-strong); border-radius:6px; background:var(--surface); color:var(--text); cursor:pointer; }
.markdown-body .new-course .editor-bar button:hover { border-color:var(--primary); }
.markdown-body .new-course .editor-bar span { color:var(--text-muted); font-size:.78rem; }
.markdown-body .new-course.editing [data-edit] { outline:1px dashed #e6b34e; outline-offset:2px; background:#fff1ac1e; }
.markdown-body .new-course.editing [data-edit]:focus { outline:2px solid #edb537; background:#fff5b030; }
.course-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0 2rem; }
.course-overview div { padding:1.15rem; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.course-overview b,.course-overview span { display:block; }
.course-overview b { color:var(--primary); margin-bottom:.35rem; }
.course-overview span { color:var(--text-secondary); }
.markdown-body .new-course .source-note { margin-top:2rem; padding-top:.8rem; border-top:1px solid var(--border); color:var(--text-muted); font-size:.82rem; }
.markdown-body .new-course .course-comic { margin:1.4rem 0 1.8rem; }
.markdown-body .new-course .course-comic img { display:block; width:100%; height:auto; border:1px solid var(--border); border-radius:16px; }
.markdown-body .new-course .course-comic figcaption { margin-top:.6rem; color:var(--text-secondary); line-height:1.6; text-align:left; }
@media(max-width:850px){.markdown-body .new-course .phase-row,.markdown-body .new-course .grid-2,.markdown-body .new-course .double-start,.course-overview{grid-template-columns:1fr}.markdown-body .new-course .step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.markdown-body .new-course .step-grid{grid-template-columns:1fr}}
@media(max-width:850px){.markdown-body .new-course .path-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.markdown-body .new-course .path-steps li::after{content:none!important}.markdown-body .new-course .path-steps li:not(:nth-child(2n))::after{content:"→"!important}}
@media(max-width:530px){.markdown-body .new-course .path-ends{flex-direction:column;align-items:flex-start}.markdown-body .new-course .path-steps{grid-template-columns:1fr}.markdown-body .new-course .path-steps li{min-height:0}.markdown-body .new-course .path-steps li::after{content:none!important;position:absolute;right:50%;top:auto;bottom:-1.14rem;transform:translateX(50%);width:auto}.markdown-body .new-course .path-steps li:not(:last-child)::after{content:"↓"!important}.markdown-body .new-course .path-steps li:last-child::after{content:none!important}}
.markdown-body .new-course .path-steps li:last-child::after{content:none!important}

.course-overview.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.markdown-body .new-course .step-grid-3,.markdown-body .new-course .grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.markdown-body .new-course .fill-card { margin-top:1rem; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.markdown-body .new-course .fill-row { display:grid; grid-template-columns:9.5rem minmax(0,1fr); gap:.6rem; align-items:start; padding:.75rem .9rem; border-top:1px solid var(--border); background:var(--surface); }
.markdown-body .new-course .fill-row:first-child { border-top:0; }
.markdown-body .new-course .fill-row b { color:var(--sketch-accent); font-size:.86rem; padding-top:.15rem; }
.markdown-body .new-course .fill-row p { margin:0; font-size:.92rem; line-height:1.7; min-height:1.6em; }
@media(max-width:850px){
  .course-overview.cols-3,.markdown-body .new-course .step-grid-3,.markdown-body .new-course .grid-3{grid-template-columns:1fr}
  .markdown-body .new-course .fill-row{grid-template-columns:1fr}
}

/* 课程资料导图与文章框架 */
.markdown-body .new-course .knowledge-map { margin:1.5rem 0 2rem; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--surface); }
.markdown-body .new-course .knowledge-map iframe { display:block; width:100%; height:520px; border:0; background:#fff; color-scheme:light; }
.markdown-body .new-course .knowledge-map figcaption { margin:0; padding:.7rem 1rem; border-top:1px solid var(--border); color:var(--text-secondary); text-align:left; line-height:1.6; }
.markdown-body .new-course .knowledge-map figcaption a { color:var(--primary); }
.markdown-body .new-course .knowledge-sequence { display:grid; gap:.65rem; padding-left:1.5rem; margin:1rem 0 1.5rem; }
.markdown-body .new-course .knowledge-sequence li { padding-left:.2rem; line-height:1.75; }
.markdown-body .new-course .article-choice-grid,
.markdown-body .new-course .article-template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:1rem 0 1.5rem; }
.markdown-body .new-course .article-choice { padding:1rem; border:1px solid var(--border); border-radius:10px; background:var(--bg-secondary); }
.markdown-body .new-course .article-choice strong,
.markdown-body .new-course .article-choice span { display:block; }
.markdown-body .new-course .article-choice strong { color:var(--text); font-size:.96rem; }
.markdown-body .new-course .article-choice span { color:var(--primary); font-weight:700; margin:.35rem 0; }
.markdown-body .new-course .article-choice p,
.markdown-body .new-course .article-template-grid p { font-size:.87rem; line-height:1.65; margin:0; }
@media(max-width:850px){
  .markdown-body .new-course .article-choice-grid,
  .markdown-body .new-course .article-template-grid { grid-template-columns:1fr; }
  .markdown-body .new-course .knowledge-map iframe { height:450px; }
}
