.elp-exam-app{max-width:900px;margin:0 auto;font-family:inherit;}
.elp-exam-start{text-align:center;padding:40px 20px;}
.elp-exam-loading{text-align:center;padding:40px 20px;color:#666;}
.elp-exam-error{color:#b32d2e;padding:16px;background:#fdecea;border-radius:6px;}
.elp-btn{display:inline-block;padding:10px 18px;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;margin-right:8px;}
.elp-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb;}
.elp-btn-submit{background:#059669;color:#fff;border-color:#059669;width:100%;margin-top:12px;}
.elp-btn-flag{background:#f59e0b;color:#fff;border-color:#f59e0b;}
.elp-btn-report{background:none;color:#666;font-size:12px;}

.elp-exam-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#111827;color:#fff;border-radius:8px 8px 0 0;}
.elp-exam-timer{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;background:#1f2937;padding:4px 14px;border-radius:6px;}

.elp-exam-body{display:flex;gap:16px;border:1px solid #e5e7eb;border-top:none;padding:16px;}
.elp-exam-question-area{flex:1;min-width:0;}
.elp-exam-palette{width:220px;flex-shrink:0;}

.elp-q-number{font-size:12px;color:#6b7280;margin-bottom:6px;}
.elp-q-title{font-size:16px;font-weight:600;margin-bottom:14px;}
.elp-option{display:block;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:6px;cursor:pointer;}
.elp-option:hover{background:#f9fafb;}
.elp-fillblank,.elp-essay{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;}

.elp-hint-toggle{display:inline-block;margin-top:8px;font-size:13px;}
.elp-hint-box{margin-top:6px;padding:8px 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:13px;}

.elp-q-actions{margin-top:16px;display:flex;align-items:center;gap:8px;}

.elp-exam-palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px;}
.elp-palette-item{padding:8px 0;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;}
.elp-palette-item.attempted{background:#059669;color:#fff;border-color:#059669;}
.elp-palette-item.visited{background:#fee2e2;border-color:#fecaca;}
.elp-palette-item.flagged{background:#f59e0b;color:#fff;border-color:#f59e0b;}
.elp-palette-item.current{outline:2px solid #2563eb;outline-offset:1px;}

.elp-exam-legend{font-size:11px;color:#6b7280;margin-bottom:10px;line-height:2;}
.elp-exam-legend .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle;}
.elp-exam-legend .dot.attempted{background:#059669;}
.elp-exam-legend .dot.visited{background:#fee2e2;border:1px solid #fecaca;}
.elp-exam-legend .dot.flagged{background:#f59e0b;}

.elp-exam-footer{padding:12px 16px;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;display:flex;justify-content:flex-end;gap:8px;}

.elp-exam-banner{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:10px 14px;border-radius:6px;margin-bottom:10px;font-size:13px;}

.elp-exam-results{text-align:center;padding:30px 16px;border:1px solid #e5e7eb;border-radius:8px;}
.elp-result-score{font-size:28px;font-weight:700;margin:10px 0;}
.elp-result-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-weight:600;font-size:13px;}
.elp-result-badge.passed{background:#d1fae5;color:#065f46;}
.elp-result-badge.failed{background:#fee2e2;color:#991b1b;}
.elp-explanations{text-align:left;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;}

.elp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:99999;}
.elp-modal{background:#fff;padding:20px;border-radius:8px;width:400px;max-width:90vw;}
.elp-modal-actions{margin-top:12px;text-align:right;}

.elp-exam-login-wall{text-align:center;padding:40px 20px;border:1px solid #e5e7eb;border-radius:8px;}

@media (max-width: 640px) {
	.elp-exam-body{flex-direction:column;}
	.elp-exam-palette{width:100%;}
}
