.quiz-document-editor{max-width:900px;margin:auto;color:#182235;font:16px/1.45 system-ui,sans-serif}.qde-toolbar,.qde-section-head{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.qde-toolbar{position:sticky;top:0;z-index:2;padding:.6rem;background:#fff;border-bottom:1px solid #d8dee9}.quiz-document-editor section{margin:1rem 0;padding:1rem;border:1px solid #d8dee9;border-radius:.6rem;background:#fff}.qde-section-head h3{margin:0 auto 0 0;font-size:1rem}.qde-content{min-height:3.4rem;padding:.65rem;border:1px dashed #aeb9c9;border-radius:.4rem;white-space:pre-wrap;outline:none}.qde-content:focus{border-style:solid;border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.qde-math,.qde-ref,.qde-legacy-formula{display:inline-block;margin:.08rem .18rem;padding:.08rem .32rem;border-radius:.25rem;vertical-align:baseline}.qde-math{background:#eef2ff;color:#312e81;cursor:pointer}.qde-ref{background:#ecfdf5;color:#065f46}.qde-legacy-formula{background:#f8fafc}.qde-inline-image{max-width:100%;max-height:220px;vertical-align:middle}.qde-button,.qde-small,.qde-icon{border:1px solid #b9c4d2;border-radius:.35rem;background:#f8fafc;padding:.35rem .55rem;cursor:pointer}.qde-small{font-size:.8rem}.qde-icon{padding:.15rem .4rem}.qde-variables table{width:100%;border-collapse:collapse}.qde-variables th,.qde-variables td{padding:.35rem;text-align:left;border-bottom:1px solid #e5e7eb}.qde-variables input,.qde-work-row input,.qde-work-row select{box-sizing:border-box;min-width:0;width:100%;padding:.32rem;border:1px solid #cbd5e1;border-radius:.25rem}.qde-work-row{display:grid;grid-template-columns:8rem minmax(12rem,2fr) repeat(4,minmax(5rem,1fr)) auto auto auto;gap:.4rem;align-items:center;padding:.55rem 0;border-bottom:1px solid #e5e7eb}.qde-math-field{min-width:0}.qde-row-error{grid-column:1/-1;color:#b91c1c;font-size:.85rem}.qde-choice{display:flex;gap:.45rem;align-items:flex-start;margin:.55rem 0}.qde-choice .qde-content-wrap{flex:1}.qde-letter{padding-top:.6rem;font-weight:700}.qde-add-sub{margin:0 0 2rem}@media(max-width:680px){.quiz-document-editor section{padding:.7rem}.qde-work-row{grid-template-columns:1fr 1fr}.qde-work-row .qde-math-field{grid-column:1/-1}.qde-variables{overflow:auto}.qde-variables table{min-width:560px}.qde-toolbar{top:0}.qde-choice{gap:.25rem}.qde-icon{padding:.12rem .28rem}}



.quiz-document-editor details{margin:1rem 0;padding:1rem;border:1px solid #d8dee9;border-radius:.6rem;background:#fff}.qde-status{color:#b91c1c}.ce-math-field-tools{display:flex;gap:.2rem;flex-wrap:wrap}.ce-math-field-tools button{font-size:.75rem;padding:.15rem .3rem}.qde-work-row{grid-template-columns:repeat(4,minmax(0,1fr))}.qde-work-row .qde-math-field{grid-column:2/-1}.qde-math-field math-field{max-width:100%;width:100%;box-sizing:border-box}.qde-math-field:not(:focus-within) .ce-math-field-tools{display:none}.qde-content-wrap{min-width:0}.qde-content{overflow-wrap:anywhere}.qde-variables th{font-size:.8rem}.qde-choice input[type=radio]{width:auto!important;min-width:0!important;margin-top:1rem}.dark-mode .quiz-document-editor{color:#e5e7eb}.dark-mode .quiz-document-editor section,.dark-mode .quiz-document-editor details,.dark-mode .qde-toolbar{background:#152033;border-color:#374151}.dark-mode .qde-content{color:#e5e7eb}.dark-mode .qde-math{background:#e0e7ff;color:#111827}@media(max-width:680px){.qde-work-row{grid-template-columns:1fr 1fr}.qde-work-row .qde-math-field{grid-column:1/-1}}



.qde-content .qde-math math-field[read-only]::part(virtual-keyboard-toggle),.qde-content .qde-math math-field[read-only]::part(menu-toggle){display:none}.qde-row-error{color:inherit}.qde-status:not(:empty){padding:.5rem;border:1px solid #fca5a5;border-radius:.3rem}.qde-toolbar{position:relative}.qde-content:empty:before{content:'Type here…';color:#6b7280}.qde-add-sub{padding:.6rem 1rem;border:1px solid #93c5fd;background:#eff6ff;border-radius:.4rem;color:#1e40af}@media(max-width:680px){.qde-variables table{min-width:0;font-size:12px;table-layout:fixed}.qde-variables th,.qde-variables td{padding:.2rem}.qde-variables th:first-child{width:20%}.qde-variables th:last-child{width:12%}.qde-variables input{padding:.25rem;width:100%;font-size:12px}.qde-variables .qde-small{font-size:0;padding:.25rem}.qde-variables .qde-small:after{content:'\00d7';font-size:16px}}
.qde-field-tools{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.qde-reference-label{font-size:.78rem;font-weight:600;color:#475569}.qde-reference-option{border:1px solid #b9c4d2;border-radius:.35rem;background:#ecfdf5;color:#065f46;padding:.25rem .5rem;cursor:pointer;font-size:.78rem}.qde-reference-picker{display:contents}.qde-reference-empty{font-size:.78rem;color:#64748b}.dark-mode .qde-reference-label{color:#cbd5e1}.dark-mode .qde-reference-option{background:#064e3b;color:#d1fae5;border-color:#475569}
.qde-add-row{display:block;margin-top:.7rem}.qde-choice-mode{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.7rem 0;font-size:.85rem;font-weight:600}.qde-choice-mode select{max-width:100%;padding:.35rem;border:1px solid #cbd5e1;border-radius:.35rem;background:#fff;color:#182235}.qde-choice-equation{flex:1;min-width:0}.qde-choice-equation .qde-math-field{width:100%}.qde-choice-formula{flex:1;min-width:0;box-sizing:border-box;padding:.55rem;border:1px solid #cbd5e1;border-radius:.35rem;font:inherit}.dark-mode .qde-choice-mode select,.dark-mode .qde-choice-formula{background:#0f172a;color:#e5e7eb;border-color:#475569}
.qde-choice-formula-wrap{flex:1;min-width:0;display:grid;gap:.3rem}.qde-choice-formula{width:100%}.qde-formula-tools{display:flex;gap:.3rem;flex-wrap:wrap}.qde-formula-vars{display:contents}.qde-formula-tools .qde-small{font-size:.72rem;padding:.2rem .4rem}.qde-derived-row{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(12rem,3fr) auto;gap:.4rem;align-items:start;padding:.45rem 0;border-bottom:1px solid #e5e7eb}.qde-derived-row input{min-width:0;box-sizing:border-box;width:100%;padding:.4rem;border:1px solid #cbd5e1;border-radius:.3rem}.qde-derived-row .qde-formula-tools{grid-column:2}.dark-mode .qde-derived-row{border-color:#334155}.dark-mode .qde-derived-row input{background:#0f172a;color:#e5e7eb;border-color:#475569}@media(max-width:680px){.qde-derived-row{grid-template-columns:1fr auto}.qde-derived-row input:nth-child(2),.qde-derived-row .qde-formula-tools{grid-column:1/-1}}


.qde-labeled-input{font-size:11px;display:grid;gap:3px}.qde-labeled-input input{font-size:14px}
.qde-row-hint{grid-column:1/-1;font-size:.78rem;color:#64748b}.qde-row-error.qde-row-ok{color:#047857;font-weight:600}.dark-mode .qde-row-hint{color:#94a3b8}.dark-mode .qde-row-error.qde-row-ok{color:#6ee7b7}
.quiz-document-editor{position:relative}.qde-inline-image,.qde-pictures img{cursor:pointer}.qde-image-sizer{position:absolute;z-index:3;pointer-events:none}.qde-image-sizer-frame{position:absolute;inset:-2px;border:2px solid #2563eb;border-radius:3px}.qde-image-sizer-handle{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:#2563eb;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:nwse-resize;touch-action:none;pointer-events:auto}.qde-image-sizer-handle:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.qde-image-sizer-bar{position:absolute;left:6px;top:6px;display:flex;gap:.4rem;align-items:center;padding:.2rem .35rem;border-radius:.35rem;background:#1e293b;color:#fff;font-size:.78rem;white-space:nowrap;pointer-events:auto}.qde-image-sizer-bar .qde-small{padding:.1rem .4rem;background:#fff;color:#1e293b}.qde-image-sizer-bar .qde-small:disabled{opacity:.5;cursor:default}


/* Dark mode for the editor chrome. Everything above paints these controls on a
   hard-coded near-white (#f8fafc) and lets the label colour come from
   `.quiz-document-editor`, which dark mode repaints #e5e7eb — near-white text
   on a near-white pill, 1.18:1. The whole toolbar read as blank pills. */
.dark-mode .qde-button,.dark-mode .qde-small,.dark-mode .qde-icon{background:#1e293b;color:#e5e7eb;border-color:#475569}
.dark-mode .qde-button:hover:not(:disabled),.dark-mode .qde-small:hover:not(:disabled),.dark-mode .qde-icon:hover:not(:disabled){background:#2b3a52;border-color:#64748b}
.dark-mode .qde-button:disabled,.dark-mode .qde-small:disabled,.dark-mode .qde-icon:disabled{opacity:.5}
/* The sizer bar is its own dark chip and sets these two on purpose; restate
   them so the rule above does not swallow them by coming later. */
.dark-mode .qde-image-sizer-bar .qde-small{background:#fff;color:#1e293b}
.dark-mode .qde-legacy-formula{background:#1e293b;color:#e5e7eb}
.dark-mode .qde-add-sub{background:#152033;border-color:#3b82f6;color:#bfdbfe}
.dark-mode .qde-content{border-color:#475569}
.dark-mode .qde-content:empty:before{color:#94a3b8}
.dark-mode .qde-variables th,.dark-mode .qde-variables td,.dark-mode .qde-work-row{border-bottom-color:#334155}
.dark-mode .qde-variables input,.dark-mode .qde-work-row input,.dark-mode .qde-work-row select{background:#0f172a;color:#e5e7eb;border-color:#475569}
.dark-mode .qde-row-error{color:#fca5a5}
.dark-mode .qde-ref{background:#064e3b;color:#d1fae5}
