.solve-diagram { width:min(100%,var(--solve-diagram-width,640px)); max-width:100%; margin:20px auto; padding:12px; box-sizing:border-box; border:1px solid #dce5e1; border-radius:10px; background:#fff; color:#20312b; white-space:normal; break-inside:avoid; }
.pp-question--diagrams { white-space:normal; line-height:1.65; }
.preview-text.preview-text--diagrams,.question-share-card__prompt.question-share-card__prompt--diagrams { white-space:normal; }
.pp-question--diagrams .pp-question__stem,.pp-question--diagrams .pp-question__part-copy,.pp-question--diagrams .pp-question__copy { white-space:pre-wrap; }
.pp-question--diagrams .pp-question__parts { display:grid; gap:16px; }
.pp-question--diagrams .pp-question__part-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; }
.pp-question--diagrams .pp-question__part-head > span { flex:none; font-size:.8em; color:#596b62; }
.solve-diagram__open { display:block; cursor:zoom-in; border-radius:4px; }
.solve-diagram__open:focus-visible { outline:3px solid #168950; outline-offset:5px; }
.solve-diagram img { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
.solve-diagram figcaption { margin:10px 0 0; font:normal .9rem/1.5 system-ui,sans-serif; text-align:center; overflow-wrap:anywhere; }
.solve-diagram__error { font:normal .9rem/1.5 system-ui,sans-serif; color:#8a361f; }
.solve-diagram__error[hidden] { display:none; }
.solve-diagram-dialog { width:min(1100px,95vw); max-height:94vh; padding:16px; border:1px solid #cad8d0; border-radius:12px; background:#fff; color:#17251e; box-sizing:border-box; }
.solve-diagram-dialog::backdrop { background:rgba(12,23,17,.75); }
.solve-diagram-dialog__close { display:block; margin:0 0 12px auto; min-height:44px; padding:8px 16px; border:1px solid #b3c4b9; border-radius:8px; background:#fff; color:#17251e; cursor:pointer; font:inherit; }
.solve-diagram-dialog img { display:block; max-width:100%; max-height:75vh; height:auto; width:auto; margin:0 auto; }
.solve-diagram-dialog p { font:normal 1rem/1.5 system-ui,sans-serif; text-align:center; }
@media print { .solve-diagram { border:0; padding:0; }.solve-diagram-dialog { display:none!important; } }
