.question-statement{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}.question-prompt .katex,.question-statement .katex{white-space:normal}.katex-display{overflow-x:auto;overflow-y:hidden;padding:.35em 0;max-width:100%}.question-images{display:grid;gap:1rem;margin:1rem 0}.question-figure{margin:0}.question-image-button{display:block;max-width:100%;padding:0;border:1px solid var(--border,#dce4e9);border-radius:12px;background:#fff;cursor:zoom-in;overflow:hidden}.question-image-button img{display:block;max-width:100%;max-height:460px;width:auto;height:auto;object-fit:contain}.question-figure figcaption{font-size:.9rem;color:var(--muted,#637785);margin-top:.5rem;white-space:pre-wrap}.question-image-viewer{position:fixed;inset:0;z-index:10000;background:rgb(10 25 35 / .88);display:grid;place-items:center;padding:1rem}.question-image-viewer-panel{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;max-width:100%;max-height:100%}.question-image-viewer-panel img{display:block;max-width:100%;max-height:calc(100vh - 6rem);object-fit:contain}.question-content-editor{margin:1rem 0;padding:1rem;border:1px solid var(--border,#dce4e9);border-radius:12px;background:var(--surface-soft,#f7fafb)}.question-upload-label{position:relative;overflow:hidden;cursor:pointer}.question-upload-label input{position:absolute;width:1px;height:1px;opacity:0}.question-media-editor{display:grid;gap:1rem}.question-media-row{display:grid;grid-template-columns:110px 1fr;gap:1rem;margin:.75rem 0}.question-media-row>img{width:110px;max-height:140px;object-fit:contain;border:1px solid var(--border,#dce4e9);border-radius:8px;background:#fff}.question-preview summary{cursor:pointer;font-weight:600;margin:1rem 0}.question-preview [data-question-preview]{padding:1rem;border:1px solid var(--border,#dce4e9);border-radius:10px;background:#fff}.scan-qr-code{display:block;width:min(280px,100%);height:auto;image-rendering:pixelated}.question-media-uploading{opacity:.65;pointer-events:none}
.question-image-viewer-hint{color:#fff;font-size:.85rem;margin:0;text-align:right}
.question-attachments{min-width:0;max-width:100%;margin:22px 0;padding:18px;border:1px solid var(--line,#dce4e9);border-radius:12px;background:#f7fafb;white-space:normal;font-size:14px;font-weight:400;line-height:1.5}
.question-attachments h3{margin:0 0 12px;font-size:17px}
.question-attachments ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.question-attachments li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line,#dce4e9);border-radius:9px;background:#fff}
.question-file-description{display:grid;gap:4px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.question-file-name{min-width:0;overflow-wrap:anywhere}
.question-file-size{font-size:12px;font-weight:400;color:var(--muted,#637785)}
.question-attachments .btn{flex:none;min-height:44px}
.question-attachment-editor{display:grid;gap:14px;min-width:0;margin-top:22px;padding-top:18px;border-top:1px solid var(--line,#dce4e9)}
.question-attachment-editor>.field-help{margin:0}
.question-file-upload-progress{display:grid;gap:6px;min-width:0;font-size:13px;color:var(--muted,#637785);overflow-wrap:anywhere}
.question-file-upload-progress progress{width:100%;height:10px}
.question-file-upload-receipt{margin:0;padding:12px;border-radius:9px;background:var(--accent-soft,#e9f6ef);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.question-attachment-editor .error-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.question-file-editor-list{display:grid;gap:12px;min-width:0}
.question-file-editor-row{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--line,#dce4e9);border-radius:10px;background:#fff}
.question-file-editor-row>.field-label{display:grid;gap:6px;min-width:0}
.question-file-editor-row .input{min-width:0;max-width:100%}
.question-upload-label:focus-within{outline:3px solid #72a7c0;outline-offset:3px}
.question-statement,.question-images,.question-figure,.question-content-editor,.question-media-editor,.question-media-row,.question-media-row>.stack{min-width:0;max-width:100%}
@media(max-width:720px){
  .question-prompt .katex,.question-statement .katex,[data-math-content] .katex{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;vertical-align:middle;padding:.1em 0 .25em}
  .katex-display .katex{max-width:none;overflow:visible;padding:0;vertical-align:baseline}
  .question-images{gap:14px}
  .question-image-button{width:100%;min-height:44px}
  .question-image-button img{margin:auto}
  .question-figure figcaption{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
  .question-image-viewer{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  .question-image-viewer-panel{min-width:0;overflow:auto;align-items:center}
  .question-image-viewer-panel .btn{align-self:flex-end;min-height:44px;flex:none}
  .question-image-viewer-panel img{min-height:0;flex:0 1 auto;max-height:calc(100dvh - 11rem)}
  .question-image-viewer-hint{overflow-wrap:anywhere}
  .question-content-editor{padding:12px}
  .question-content-editor .btn{min-height:44px;white-space:normal}
  .question-content-editor .input{min-width:0;font-size:16px}
  .question-preview summary{min-height:44px;padding:8px 0;overflow-wrap:anywhere}
  .question-preview [data-question-preview]{min-width:0;padding:12px}
  .question-attachments{padding:14px;margin:18px 0;font-size:14px}
  .question-attachments li{flex-wrap:wrap;align-items:stretch;gap:10px;padding:12px}
  .question-attachments li>.question-file-description{flex:1 1 100%}
  .question-attachments .btn{width:100%;min-width:0;min-height:44px}
  .question-file-editor-row{padding:12px}
  .question-file-editor-row>.actions{align-items:stretch}
  .question-file-editor-row>.actions>.btn{flex:1 1 100%;min-height:44px;white-space:normal}
  .question-attachment-editor .question-upload-label{width:100%;min-height:44px}
}
@media(max-width:560px){
  .question-media-row{grid-template-columns:minmax(0,1fr)}
  .question-media-row>img{width:100%;max-height:180px}
  .question-upload-label{width:100%}
}
