/* M04 只补页面骨架所需的排版类，颜色和间距沿用 M02 模板。 */
.welcome-panel,.map-intro,.preview-notice,.plain-section{margin:0 0 22px;padding:14px 0;border-bottom:1px solid var(--line)}
.welcome-panel h2{font-size:22px;margin:10px 0 12px;color:var(--ink)}
.welcome-panel p,.plain-section p,.map-intro p,.preview-notice p{font-size:15px;line-height:1.8}
.preview-notice{border-left:3px solid #d39b4a;padding:12px 16px;background:#fffaf0}
.preview-notice strong{color:#8b5f28;font-size:15px}
.preview-notice .source{margin-bottom:0}
.source-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.source-meta .source-row{grid-column:1/-1}
.source-meta div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.source-meta div:nth-last-child(-n+2){border-bottom:0}
.source-meta dt{font-size:13px;color:var(--muted)}
.source-meta dd{margin:0;font-size:13px;color:var(--ink)}
.status-pill{color:#8b5f28;font-size:12px}
.answer-form{margin:0}
.answer-form fieldset{margin:0 0 10px}
.answer-form textarea{display:block;width:100%;min-height:120px;padding:10px;border:1px solid #b8cde0;border-radius:4px;line-height:1.65;resize:vertical}
.answer-form .answer-feedback{margin:12px 0}
.answer-solution{margin:16px 0 4px;padding-top:10px;border-top:1px solid var(--line)}
.answer-solution h3{margin:0 0 8px;font-size:15px;color:var(--blue)}
.answer-solution ol{margin:0;padding-left:21px}
.answer-solution li{margin:7px 0;font-size:13px;line-height:1.7}
.answer-solution li strong{font-weight:600;color:var(--ink)}
.answer-form .primary{margin-top:14px}
.concept-check-form{margin:0}
.concept-check-form .action-question{margin:0 0 12px;font-size:15px;line-height:1.7;color:var(--ink)}
.concept-check-form .choice-row{display:grid;gap:8px}
.concept-check-form .answer-feedback{margin:14px 0}
.concept-help-panel{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
.concept-help-panel h3{margin:0 0 10px;font-size:15px;color:var(--blue);font-weight:600}
.concept-help-panel .ai-chat-turn{padding:8px 0;border-bottom:1px solid var(--line)}
.concept-help-panel .ai-chat-turn p{margin:4px 0;font-size:13px;line-height:1.7}
.concept-help-panel textarea{display:block;width:100%;min-height:72px;margin:10px 0;padding:9px;border:1px solid #b8cde0;border-radius:4px;line-height:1.6;resize:vertical}
.concept-help-panel button{margin-top:2px}
@media(max-width:680px){
  .welcome-panel h2{font-size:19px}
  .source-meta{display:block}
  .source-meta div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .source-meta div:last-child{border-bottom:0}
}
