/* SmartCBT 24.7 — complete, readable GFM output for AI explanations. */
.ap-md-rendered,.ap19-initial-text,.ap20-learning-body,.ap18-message-body{overflow-wrap:anywhere}
.ap-md-rendered>:first-child,.ap19-initial-text>:first-child,.ap20-learning-body>:first-child,.ap18-message-body>:first-child{margin-top:0}
.ap-md-rendered>:last-child,.ap19-initial-text>:last-child,.ap20-learning-body>:last-child,.ap18-message-body>:last-child{margin-bottom:0}
.ap-md-rendered h1,.ap-md-rendered h2,.ap-md-rendered h3,.ap-md-rendered h4,.ap-md-rendered h5,.ap-md-rendered h6,.ap19-initial-text h1,.ap19-initial-text h2,.ap19-initial-text h3,.ap18-message-body h1,.ap18-message-body h2,.ap18-message-body h3{margin:20px 0 8px;color:var(--ap-heading);font-weight:850;line-height:1.3}
.ap-md-rendered h1,.ap19-initial-text h1,.ap18-message-body h1{font-size:22px}.ap-md-rendered h2,.ap19-initial-text h2,.ap18-message-body h2{font-size:19px}.ap-md-rendered h3,.ap19-initial-text h3,.ap18-message-body h3{font-size:16px}
.ap-md-rendered p,.ap19-initial-text p,.ap20-learning-body p,.ap18-message-body p{margin:9px 0;line-height:1.72}
.ap-md-rendered ul,.ap-md-rendered ol,.ap19-initial-text ul,.ap19-initial-text ol,.ap20-learning-body ul,.ap20-learning-body ol,.ap18-message-body ul,.ap18-message-body ol{margin:10px 0;padding-left:24px}.ap-md-rendered li,.ap19-initial-text li,.ap20-learning-body li,.ap18-message-body li{margin:5px 0;line-height:1.65}
.ap-md-rendered blockquote,.ap19-initial-text blockquote,.ap20-learning-body blockquote,.ap18-message-body blockquote{margin:13px 0;padding:11px 15px;border-left:4px solid var(--ap-primary);border-radius:0 10px 10px 0;background:var(--ap-primary-soft);color:var(--ap-secondary)}
.ap-md-rendered pre,.ap19-initial-text pre,.ap20-learning-body pre,.ap18-message-body pre{max-width:100%;margin:13px 0;padding:14px;overflow:auto;border:1px solid var(--ap-p200);border-radius:11px;background:#0f172a;color:#e2e8f0;white-space:pre}
.ap-md-rendered code,.ap19-initial-text code,.ap20-learning-body code,.ap18-message-body code{padding:2px 5px;border-radius:5px;background:rgba(var(--ap-primary-rgb),.09);color:var(--ap-primary-dark);font:600 .92em/1.5 Consolas,Monaco,monospace}.ap-md-rendered pre code,.ap19-initial-text pre code,.ap20-learning-body pre code,.ap18-message-body pre code{padding:0;background:transparent;color:inherit;font-weight:400}
.ap-md-rendered a,.ap19-initial-text a,.ap20-learning-body a,.ap18-message-body a{color:var(--ap-link);font-weight:700;text-decoration:underline;text-underline-offset:2px}.ap-md-rendered del,.ap19-initial-text del,.ap20-learning-body del,.ap18-message-body del{color:var(--ap-muted)}.ap-md-rendered hr,.ap19-initial-text hr,.ap20-learning-body hr,.ap18-message-body hr{margin:18px 0;border:0;border-top:1px solid var(--ap-p200)}
.ap-md-rendered table,.ap19-initial-text table,.ap20-learning-body table,.ap18-message-body table{width:100%;margin:14px 0;border-collapse:separate;border-spacing:0;border:1px solid var(--ap-p200);border-radius:11px;background:#fff}
.ap-md-rendered th,.ap-md-rendered td,.ap19-initial-text th,.ap19-initial-text td,.ap20-learning-body th,.ap20-learning-body td,.ap18-message-body th,.ap18-message-body td{padding:9px 11px;border-right:1px solid var(--ap-p200);border-bottom:1px solid var(--ap-p200);text-align:left;vertical-align:top}.ap-md-rendered th:last-child,.ap-md-rendered td:last-child,.ap19-initial-text th:last-child,.ap19-initial-text td:last-child,.ap20-learning-body th:last-child,.ap20-learning-body td:last-child,.ap18-message-body th:last-child,.ap18-message-body td:last-child{border-right:0}.ap-md-rendered tbody tr:last-child td,.ap19-initial-text tbody tr:last-child td,.ap20-learning-body tbody tr:last-child td,.ap18-message-body tbody tr:last-child td{border-bottom:0}.ap-md-rendered th,.ap19-initial-text th,.ap20-learning-body th,.ap18-message-body th{background:var(--ap-secondary);color:var(--ap-on-secondary);font-weight:800}
.ap-md-rendered [data-align=center],.ap19-initial-text [data-align=center],.ap20-learning-body [data-align=center],.ap18-message-body [data-align=center]{text-align:center}.ap-md-rendered [data-align=right],.ap19-initial-text [data-align=right],.ap20-learning-body [data-align=right],.ap18-message-body [data-align=right]{text-align:right}
.ap-md-task-list,.task-list{padding-left:5px!important;list-style:none}.ap-md-task-list input,.task-list input{margin:0 8px 0 0;vertical-align:-1px}
@media(max-width:600px){.ap-md-rendered table,.ap19-initial-text table,.ap20-learning-body table,.ap18-message-body table{display:block;overflow-x:auto;white-space:nowrap}.ap-md-rendered th,.ap-md-rendered td,.ap19-initial-text th,.ap19-initial-text td,.ap20-learning-body th,.ap20-learning-body td,.ap18-message-body th,.ap18-message-body td{min-width:120px}}
.ap-md-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:11px}
.ap-md-rendered table,.ap19-initial-text table,.ap20-learning-body table,.ap18-message-body table{table-layout:auto}
.ap-md-rendered th,.ap-md-rendered td,.ap19-initial-text th,.ap19-initial-text td,.ap20-learning-body th,.ap20-learning-body td,.ap18-message-body th,.ap18-message-body td{overflow-wrap:break-word}
/* Structured AI explanations remain legible in the educator report and chat. */
.sc-progress-ai-result .ap-md-rendered,.ap18-message-body,.ap19-initial-text,.ap20-learning-body{font-size:13px;line-height:1.72;font-weight:400;color:var(--ap-text)}
.sc-progress-ai-result .ap-md-rendered h2,.sc-progress-ai-result .ap-md-rendered h3{margin:20px 0 9px;color:var(--ap-heading);font-weight:800;line-height:1.38}
.sc-progress-ai-result .ap-md-rendered p{margin:10px 0 13px;line-height:1.75;font-weight:400}
.sc-progress-ai-result .ap-md-rendered strong{font-weight:750}
.sc-progress-ai-result .ap-md-rendered ol,.sc-progress-ai-result .ap-md-rendered ul{margin:12px 0 16px;padding-left:23px}
.sc-progress-ai-result .ap-md-rendered li{margin:8px 0;line-height:1.7;font-weight:400}
.sc-progress-ai-result .ap-md-table-wrap{margin:16px 0;border:1px solid var(--ap-p200);border-radius:12px;background:#fff;overflow-x:auto}
.sc-progress-ai-result .ap-md-table-wrap table{margin:0;min-width:420px;border:0;border-radius:0}
.sc-progress-ai-result .ap-md-table-wrap th{background:linear-gradient(110deg,var(--ap-primary),var(--ap-secondary));color:#fff}
.sc-progress-ai-result .ap-md-table-wrap td{font-weight:400;line-height:1.55}
/* 25.11: shared styling applies equally to initial, regenerated and edited output. */
.ap-md-rendered {min-width:0;max-width:100%;font-size:14px;line-height:1.8;color:var(--ap-text,#25364d);}
.ap-md-rendered .ap-md-table-wrap {margin:20px 0;max-width:100%;border:1px solid var(--ap-p200,#e3d5ed);border-radius:12px;background:#fff;overflow:auto;}
.ap-md-rendered .ap-md-table-wrap:focus-visible {outline:2px solid var(--ap-link,#742987);outline-offset:3px;}
.ap-md-rendered .ap-md-table-wrap>table {display:table!important;width:100%;min-width:480px;margin:0!important;border:0!important;border-radius:0;table-layout:auto;white-space:normal!important;}
.ap-md-rendered .ap-md-table-wrap th,
.ap-md-rendered .ap-md-table-wrap td {min-width:96px!important;padding:14px 16px!important;line-height:1.75!important;vertical-align:top;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;border-color:var(--ap-p200,#e3d5ed);}
.ap-md-rendered .ap-md-table-wrap th {background:var(--ap-secondary,#51215d)!important;color:var(--ap-on-secondary,#fff)!important;font-weight:750;white-space:nowrap!important;}
.ap-md-rendered .ap-md-table-wrap tbody tr:nth-child(even) td {background:var(--ap-p50,#fcf9ff);}
.ap-md-rendered .ap-md-table-wrap tbody tr:hover td {background:var(--ap-p100,#f7effc);}
.ap-md-rendered .ap-md-table-wrap td p {margin:0;}
.ap-md-rendered .ap-math {color:inherit;font-weight:400;max-width:100%;}
.ap-md-rendered .ap-math--block {display:block;padding:16px 20px;margin:18px 0;border:1px solid var(--ap-line,#e3e7ed);border-radius:12px;background:#f9fafc;overflow:auto;text-align:center;}
.ap-md-rendered .ap-math--block .katex-display {margin:0;}
.ap-md-rendered .ap-math--inline[data-math-engine=katex] {display:inline-block;vertical-align:baseline;font-family:inherit;}
.ap-md-rendered .katex {font-size:1.08em;}
.scb-diagram {max-width:100%;margin:20px 0;border:1px solid var(--ap-line,#e0e5ed);border-radius:14px;background:#fff;overflow:hidden;}
.scb-diagram>figcaption {padding:10px 16px;border-bottom:1px solid var(--ap-line,#e0e5ed);background:#f9fafc;font-size:12px;font-weight:700;color:var(--ap-muted,#61758b);}
.scb-diagram__canvas {padding:24px;overflow:auto;text-align:center;line-height:1.7;}
.scb-diagram__canvas>svg {display:block;height:auto;margin:auto;max-width:100%;min-width:240px;}
.scb-diagram>details {padding:10px 16px;border-top:1px solid var(--ap-line,#e0e5ed);background:#f9fafc;font-size:12px;}
.scb-diagram>details>summary {cursor:pointer;color:var(--ap-muted,#61758b);font-weight:600;}
.scb-diagram>details pre {margin:10px 0 0;}
.scb-diagram.has-error .scb-diagram__canvas {text-align:left;color:var(--ap-muted,#61758b);font-size:13px;}
@media(max-width:600px){.ap-md-rendered .ap-md-table-wrap th,.ap-md-rendered .ap-md-table-wrap td{padding:12px!important;font-size:13px;}.ap-md-rendered .ap-math--block{padding:14px 10px;}.scb-diagram__canvas{padding:16px 10px;}}

/* 25.14: responsive concept diagrams rather than dark, unformatted text art. */
.scb-diagram{border-color:var(--ap-p200,#e3d5ed);border-radius:16px;box-shadow:0 5px 20px rgba(var(--ap-primary-rgb,134,25,176),.045)}
.scb-diagram>figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:linear-gradient(110deg,rgba(var(--ap-primary-rgb,134,25,176),.065),rgba(var(--ap-accent-rgb,6,182,212),.025));color:var(--ap-text,#354964)}
.scb-diagram>figcaption>span{font-size:13px;font-weight:750}.scb-diagram>figcaption>small{font-size:11px;font-weight:400;color:var(--ap-text,#354964)}
.scb-diagram__canvas{background:linear-gradient(145deg,#fff,var(--ap-p50,#fcf9ff));padding:24px;max-width:100%;overscroll-behavior-inline:contain}
.scb-diagram__canvas>svg{min-width:320px;max-width:none;width:max(100%,320px);height:auto}
.scb-diagram>details{padding:12px 18px;background:#fff}.scb-diagram>details>summary{font-size:11px;color:var(--ap-text,#354964)}
.scb-diagram>details pre{max-height:300px;background:#f6f8fc;color:#243449;border-color:var(--ap-line,#dce4ee);font-size:12px}
.ap-md-rendered .scb-concept-flow{display:grid;gap:0;max-width:560px;list-style:none;margin:0 auto!important;padding:0!important;text-align:left}
.ap-md-rendered .scb-concept-flow>li{margin:0!important;padding:0;min-width:0;list-style:none}
.scb-concept-flow__node{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--ap-p200,#e3d5ed);border-radius:13px;background:#fff;color:var(--ap-text,#354964);box-shadow:0 3px 10px rgba(var(--ap-primary-rgb,134,25,176),.045);font-size:15px;font-weight:700;line-height:1.55;overflow-wrap:anywhere}
.scb-concept-flow__number{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:var(--ap-p100,#f7effc);color:var(--ap-text,#354964);font-size:11px;font-weight:750}
.scb-concept-flow__edge{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 14px;min-height:42px;text-align:center}
.scb-concept-flow__label{padding:4px 11px;border:1px solid var(--ap-p200,#e3d5ed);border-radius:99px;background:rgba(255,255,255,.92);font-size:12px;font-weight:650;line-height:1.55;color:var(--ap-text,#354964);overflow-wrap:anywhere}
.scb-concept-flow__note{display:block;max-width:100%;padding:5px 10px;border:1px solid #f1d1d5;border-radius:8px;background:#fff5f6;color:#8a2638;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.scb-concept-flow__arrow{display:block;font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1;color:var(--ap-link,#742987)}
@media(max-width:600px){.scb-diagram>figcaption{padding:12px 14px}.scb-diagram__canvas{padding:18px 12px}.scb-concept-flow__node{padding:13px 12px;font-size:14px;gap:10px}.scb-concept-flow__edge{padding:10px 4px}.scb-diagram>figcaption>small{font-size:10px}}
@media print{.scb-diagram>details{display:none}.scb-concept-flow__node{break-inside:avoid}.scb-diagram__canvas{overflow:visible}.scb-diagram__canvas>svg{max-width:100%;min-width:0;width:100%}}
