.cer-shell{color:var(--cer-ink);font-family:Figtree,Segoe UI,sans-serif}.cer-panel{background:var(--cer-card);border:1px solid var(--cer-line);border-radius:22px;box-shadow:var(--cer-shadow-soft)}.cer-bold{font-weight:700}.cer-button{border:1px solid transparent;background:var(--cer-surface);color:var(--cer-ink);font-weight:600;padding:10px 16px;border-radius:var(--cer-border-radius);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;box-shadow:var(--cer-shadow-soft)}.cer-button:hover{transform:translateY(-1px);box-shadow:var(--cer-shadow)}.cer-button:focus-visible,.cer-icon-button:focus-visible,.cer-modal-close:focus-visible{outline:2px solid var(--cer-accent-2);outline-offset:2px}.cer-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.cer-button--primary{background:linear-gradient(135deg,var(--cer-accent),var(--cer-button-accent));color:var(--cer-button-text)}.cer-button--secondary{border-color:var(--cer-line);background:var(--cer-card)}.cer-button--ghost{border-color:var(--cer-line);background:transparent}.cer-button--link{background:transparent;border-color:transparent;box-shadow:none;padding:0;text-decoration:underline}.cer-button--block{width:100%}.cer-icon-button{width:42px;height:42px;border-radius:var(--cer-border-radius);border:1px solid var(--cer-line);background:var(--cer-surface);color:var(--cer-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--cer-shadow-soft);transition:transform .16s ease,box-shadow .16s ease}.cer-icon-button:hover{transform:translateY(-2px);box-shadow:var(--cer-shadow)}.cer-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--cer-border-radius);font-size:.8rem;font-weight:600;border:1px solid transparent}.use-select-none{-webkit-user-select:none;user-select:none}.cer-only-lg{display:none}@media(min-width:992px){.cer-only-lg{display:inline}}.cer-badge--success{background:var(--cer-success);color:#fff}.cer-badge--danger{background:#ef4444;color:#fff}.cer-badge--warning{background:#ffba08;color:#fff}.cer-badge--info{background:var(--cer-chip);color:var(--cer-ink)}.cer-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--cer-border-radius);font-size:.8rem;background:var(--cer-chip);color:var(--cer-ink)}.cer-input,.cer-textarea,.cer-select{width:100%;border:1px solid var(--cer-line);background:var(--cer-card);color:var(--cer-ink);border-radius:14px;padding:10px 12px;font-size:1rem;box-shadow:var(--cer-shadow-soft)}.cer-select{padding-right:36px}.cer-textarea{min-height:140px;resize:vertical}.cer-input:focus,.cer-textarea:focus,.cer-select:focus{outline:none;border-color:var(--cer-accent-2);box-shadow:0 0 0 3px var(--cer-accent-2-soft)}.cer-input--invalid,.cer-textarea--invalid{border-color:var(--cer-accent);box-shadow:0 0 0 3px #ff6b2d33}.cer-progress{height:10px;background:var(--cer-progress-track);border-radius:var(--cer-border-radius);overflow:hidden}.cer-progress-bar{height:100%;background:var(--cer-success);transition:width .3s ease}.cer-modal-overlay{position:fixed;inset:0;background:#0f171a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:9999;overflow-y:auto}.cer-modal{width:min(600px,100%);background:var(--cer-card);border-radius:20px;border:1px solid var(--cer-line);box-shadow:var(--cer-shadow);display:grid;overflow:auto;max-height:calc(100vh - 48px)}.cer-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--cer-line)}.cer-modal-title{margin:0;font-size:1.1rem}.cer-modal-body{padding:16px 18px;display:grid;gap:12px}.cer-modal-footer{padding:12px 18px 18px;display:flex;justify-content:flex-end;gap:10px}.cer-modal-close{border:1px solid var(--cer-line);background:transparent;color:var(--cer-ink);border-radius:var(--cer-border-radius);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.cer-modal-close:hover{background:var(--cer-surface)}.cer-text-muted{color:var(--cer-ink-muted)}.qc-shell{display:grid;gap:18px}.qc-shell>*{min-width:0}.qc-shell :where(p,ul,ol){margin:0 0 10px}.qc-shell :where(ul,ol){padding-left:1.2rem}.qc-shell :where(code){background:var(--cer-chip-ghost);padding:2px 6px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all}.qc-shell .markdown-squashed :where(p,li,td,div)>code:only-child{display:inline;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all}.qc-shell :where(pre){margin:0 0 10px;padding:10px 12px;background:var(--cer-chip-ghost);border-radius:10px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all}.qc-shell :where(pre>code){display:block;padding:0;background:transparent;border-radius:0;white-space:inherit}.qc-shell img{max-width:100%}.qc-question-stem,.qc-answer-description{min-width:0}.qc-question-stem--normalize :where(b,strong){font-weight:inherit}.qc-question-stem--normalize :where(i,em){font-style:inherit}.qc-answer-text :where(b,strong),.qc-answer-description :where(b,strong){font-weight:inherit}.qc-answer-text :where(i,em),.qc-answer-description :where(i,em){font-style:inherit}.qc-answer-row{display:flex;align-items:flex-start;gap:12px}.qc-shell cer-list-item[data-selected=true]{background:#0000000d;color:var(--cer-list-group-color);border-color:var(--cer-list-group-border-color);box-shadow:none}.qc-answer-icon,.qc-answer-grade{width:32px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.qc-answer-icon{align-self:center}.qc-answer-grade{display:none;align-self:center}cer-list-item[data-graded=true] .qc-answer-grade{display:flex}cer-list-item[data-selected=true] .icon-selected{display:inline}cer-list-item[data-selected=true] .icon-unselected{display:none}.qc-answer-row .icon-selected{display:none}.qc-answer-row .icon-unselected{display:inline}.qc-answer-text{flex:1;min-width:0}.qc-answer-label{font-weight:600;color:var(--cer-ink-muted)}.qc-answer-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;border-radius:6px;font-size:.75rem;font-weight:700;color:#fff}.qc-answer-badge--correct{background:var(--cer-success)}.qc-answer-badge--incorrect{background:var(--cer-danger)}.qc-label{font-weight:600;margin-bottom:6px;display:inline-block}.qc-text-input{display:grid;gap:10px}.qc-answer-details{margin-top:8px;background:var(--cer-surface-2);padding:12px 14px;border-radius:14px;border:1px dashed var(--cer-line)}.qc-answer-details div{margin-bottom:2px}.qc-answer-details div:last-child{margin-bottom:0}.qc-actions{display:grid;gap:12px}.qc-actions .cer-button{border-radius:6px;border:0}.qc-actions .cer-button:hover{background:#56597308;box-shadow:none;transform:none}.cer-shell[data-theme=dark] .qc-actions .cer-button:hover{background:#ffffff08}.qc-grade{display:grid;gap:16px}.qc-grade-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.qc-grade-badges{display:flex;gap:8px;flex-wrap:wrap}.qc-grade-badges>*{margin-bottom:2px}.qc-feedback{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qc-section-title{margin:0;font-size:1.5rem}.qc-followup{margin-top:12px;display:grid;gap:12px}.qc-followup-note{margin:0}.qc-matching{display:grid;gap:12px}.qc-matching-hint{color:var(--cer-ink-muted);font-size:.95rem;display:grid;gap:4px}.qc-matching-hint-note{color:var(--cer-ink-muted);font-size:.9rem}.qc-matching-list{display:grid;gap:10px}.qc-matching-headers{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cer-ink-muted)}.qc-matching-prompts{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border-radius:12px;border:1px dashed var(--cer-line);background:var(--cer-surface-2);min-height:56px;align-items:center}.qc-matching-prompts.is-drag-over{border-color:var(--cer-primary);box-shadow:0 0 0 1px rgba(var(--cer-primary-rgb),.2) inset}.qc-matching-prompts-empty{color:var(--cer-ink-muted);font-size:.9rem}.qc-matching-row{background:var(--cer-surface);border-radius:12px;border:1px solid var(--cer-line);padding:10px 12px;display:grid;gap:10px;align-items:center}.qc-matching-row[data-graded=true][data-correct=true]{border-color:var(--cer-success);box-shadow:0 0 0 1px var(--cer-success) inset}.qc-matching-row[data-graded=true][data-correct=false]{border-color:var(--cer-danger);box-shadow:0 0 0 1px var(--cer-danger) inset}.qc-matching-answer{font-weight:600}.qc-matching-dropzone{min-height:44px;padding:8px;border-radius:10px;border:1px dashed var(--cer-line);background:var(--cer-surface-2);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.qc-matching-dropzone.is-drag-over{border-color:var(--cer-primary);box-shadow:0 0 0 1px rgba(var(--cer-primary-rgb),.2) inset}.qc-matching-dropzone-empty{font-size:.9rem;color:var(--cer-ink-muted)}.qc-matching-prompt-card,.qc-matching-prompt-chip{border-radius:10px;border:1px solid var(--cer-line);background:var(--cer-surface);padding:6px 10px;font-size:.95rem;line-height:1.3;cursor:grab;-webkit-user-select:none;user-select:none}.qc-matching-prompt-card.is-dragging,.qc-matching-prompt-chip.is-dragging{opacity:.6;cursor:grabbing}.qc-matching-correct-table{margin-top:16px;padding-top:12px;border-top:1px solid var(--cer-line);display:grid;gap:8px}.qc-matching-correct-title{font-weight:600}.qc-matching-correct-table table{width:100%;border-collapse:collapse}.qc-matching-correct-table th,.qc-matching-correct-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--cer-line)}.qc-matching-correct-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--cer-ink-muted)}.qc-matching-correct-table tbody tr:last-child td{border-bottom:none}@media(min-width:768px){.qc-matching-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.qc-matching-headers{display:grid}}.qc-ordered{display:grid;gap:12px}.qc-ordered-hint{color:var(--cer-ink-muted);font-size:.95rem}.qc-ordered-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.qc-ordered-item{background:var(--cer-surface);border-radius:12px;border:1px solid var(--cer-line);padding:10px 12px}.qc-ordered-item[data-graded=true][data-correct=true]{border-color:var(--cer-success);box-shadow:0 0 0 1px var(--cer-success) inset}.qc-ordered-item[data-graded=true][data-correct=false]{border-color:var(--cer-danger);box-shadow:0 0 0 1px var(--cer-danger) inset}.qc-ordered-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.qc-ordered-handle{color:var(--cer-ink-muted);font-size:.9rem;cursor:grab}.qc-ordered-item[data-graded=true] .qc-ordered-handle{display:none}.qc-ordered-item.is-dragging .qc-ordered-handle{cursor:grabbing}.qc-ordered-text{line-height:1.4}.qc-ordered-actions{display:flex;gap:6px}.qc-ordered-item[data-graded=true] .qc-ordered-actions{display:none}.qc-ordered-actions [data-disabled=true]{opacity:.45;pointer-events:none;cursor:not-allowed}.qc-ordered-item.is-draggable{cursor:grab}.qc-ordered-item.is-dragging{opacity:.6;border-style:dashed}.qc-ordered-item.is-drag-over{border-color:var(--cer-accent-2);box-shadow:0 0 0 1px var(--cer-accent-2) inset}.qp-card{background:var(--cer-surface);border-radius:16px;padding:14px 16px;box-shadow:none;border:1px solid var(--cer-line);display:grid;gap:10px}.qp-card.is-waiting{opacity:.7}.qp-card.is-writing{border-color:var(--cer-accent-2)}.qp-button{align-items:center;justify-content:flex-start;text-align:left}.qp-accent{color:var(--cer-accent)}.qp-title{margin:0;font-size:1rem;display:inline-flex;align-items:center;gap:6px}.qp-response{font-size:1rem}.qp-response>:first-child{margin-top:0}.qp-response>:last-child{margin-bottom:0}.qp-cursor{margin-left:6px;animation:qp-blink 1s steps(2,end) infinite}.qp-card.is-done .qp-cursor{display:none}.qp-link{font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;color:var(--cer-ink)}.qp-link:hover{text-decoration:underline}@keyframes qp-blink{0%,to{opacity:.2}50%{opacity:1}}
