/* exam-ui.css - Toast / Modal / Animation */

.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{padding:14px 20px;border-radius:10px;color:#fff;font-size:14px;min-width:280px;max-width:400px;animation:uiSlideIn .3s ease;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);line-height:1.4}
.toast.error{background:var(--danger,#ef4444)}
.toast.success{background:var(--success,#10b981)}
.toast.warn{background:#f59e0b}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9998;display:flex;align-items:center;justify-content:center;animation:uiFadeIn .2s}
.modal-box{background:var(--bg-card,#16253d);border:1px solid var(--border,rgba(200,169,81,.2));border-radius:16px;padding:32px;max-width:420px;width:90%;text-align:center;animation:uiScaleIn .25s}
.modal-box h3{color:var(--accent,#c8a951);margin:0 0 12px;font-size:18px}
.modal-box p{color:var(--text-muted,#94a3b8);font-size:14px;margin:0 0 24px;line-height:1.6}
.modal-actions{display:flex;gap:12px;justify-content:center}
.submit-overlay{position:fixed;inset:0;background:rgba(10,17,34,.92);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:uiFadeIn .3s}
.submit-spinner{width:48px;height:48px;border:3px solid var(--border,rgba(200,169,81,.2));border-top-color:var(--accent,#c8a951);border-radius:50%;animation:uiSpin .8s linear infinite;margin-bottom:16px}
.submit-text{color:var(--accent,#c8a951);font-size:16px}
.timer.danger{color:var(--danger,#ef4444)!important;animation:uiShake .5s infinite}
@keyframes uiSlideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes uiFadeIn{from{opacity:0}to{opacity:1}}
@keyframes uiScaleIn{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes uiSpin{to{transform:rotate(360deg)}}
@keyframes uiShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
