.ext-panel{background:#fff;border:1px solid #c2d5df;border-radius:18px;padding:clamp(16px,3vw,28px);margin-bottom:18px;color:#163348;min-width:0}
.ext-panel h2{font-size:clamp(1.35rem,3vw,1.8rem);margin:0 0 12px;line-height:1.25}
.ext-panel h3{font-size:1.15rem;margin:18px 0 10px}
.ext-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ext-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:16px 0}
.ext-controls label,.ext-answer label{display:grid;gap:6px;font-weight:700}
.ext-panel input,.ext-panel select,.ext-panel textarea{font:inherit;color:#17364b;background:#fff;border:1px solid #617f92;border-radius:7px;padding:10px;box-sizing:border-box;max-width:100%;min-width:0;min-height:44px}
.ext-panel select{width:100%;white-space:normal}
.ext-controls input{width:100%}
.ext-panel textarea{width:100%;box-sizing:border-box;resize:vertical}
.ext-program{font:15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace!important;min-height:210px;tab-size:4}
.ext-answer{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:16px 0}
.ext-choice{border:0;padding:0;margin:16px 0;min-width:0}
.ext-choice legend{font-weight:700;margin-bottom:12px}
.ext-choice label{display:flex;align-items:flex-start;gap:10px;line-height:1.5;padding:14px;margin:8px 0;border:1px solid #7b95a5;border-radius:10px;min-height:44px;box-sizing:border-box;cursor:pointer}
.ext-choice input{flex:0 0 22px;width:22px;min-height:22px;height:22px;margin-top:2px;accent-color:#13596c}
.ext-model-question{border-left:4px solid #126378;background:#eff6f8;padding:12px 16px;font-weight:600;line-height:1.6}
.ext-plot{margin:16px 0;background:#eff6f8;border-radius:12px;overflow:hidden}
.ext-plot svg{width:100%;height:auto;display:block;max-height:420px}
.ext-plot figcaption{padding:12px 16px;line-height:1.5}
.ext-axis{stroke:#7b95a5;stroke-width:1}
.ext-line{stroke:#126378;stroke-width:3;fill:none}
.ext-point{fill:#9e431e;stroke:#fff;stroke-width:2}
.ext-plot text{font:13px sans-serif;fill:#17364b}
.ext-table-wrap{overflow-x:auto;max-width:100%}
.ext-panel table{width:100%;border-collapse:collapse;margin:14px 0;font-variant-numeric:tabular-nums}
.ext-panel caption{text-align:left;font-weight:700;padding-bottom:8px}
.ext-panel th,.ext-panel td{padding:9px;text-align:left;border-bottom:1px solid #c1d3dd}
.ext-feedback{background:#eff6f8;border-left:4px solid #126378;padding:12px 16px;line-height:1.5}
.ext-feedback[data-state="error"]{border-color:#9e431e;background:#fff3ec}
.ext-trace{font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#edf3f6;padding:14px;border-radius:8px}
.ext-plot-summary{font-size:.9rem;color:#354f60}
.ext-diagnosis{padding-left:20px;line-height:1.6}
.ext-diagnosis li{margin:8px 0}
.ext-diagnosis [data-correct=true]{color:#005f59}
.ext-panel :focus-visible{outline:3px solid #99441e;outline-offset:3px}
@media(max-width:480px){.ext-answer,.ext-controls{grid-template-columns:1fr 1fr}.ext-panel select{font-size:14px}.ext-panel .obs-tools>*{flex:1 1 100%}.ext-choice label{padding:10px}.ext-panel{border-radius:12px}}
@media(forced-colors:active){.ext-panel,.ext-choice label,.ext-feedback{border:1px solid CanvasText}.ext-line,.ext-axis{stroke:CanvasText}.ext-point{fill:CanvasText;stroke:Canvas}.ext-plot text{fill:CanvasText}}
@media(prefers-reduced-motion:reduce){.investigation-lab-page *,.investigation-lab-page *::before,.investigation-lab-page *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
