/* BSF Advanced Learning Hub — Timed Mock-Exam (corporate navy/gold) */
.bsf-exam-app {
	--bsf-navy:#0b1f3a; --bsf-navy-2:#13294b; --bsf-gold:#c9a227; --bsf-ink:#1a2230;
	--bsf-mut:#5b6675; --bsf-line:#e4e8ef; --bsf-good:#1d8a52; --bsf-bad:#b3341f;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	max-width:760px; margin:0 auto; color:var(--bsf-ink);
}
.bsf-exam-app *{box-sizing:border-box;}
.bsf-exam-loading,.bsf-exam-error{padding:40px;text-align:center;color:var(--bsf-mut);}
.bsf-exam-error{color:var(--bsf-bad);}

.bsf-exam{border:1px solid var(--bsf-line);border-radius:14px;overflow:hidden;background:#fff;}
.bsf-exam-head{display:flex;justify-content:space-between;align-items:center;background:var(--bsf-navy);color:#fff;padding:16px 22px;}
.bsf-exam-title{font-weight:700;letter-spacing:.02em;}
.bsf-exam-timer{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;color:var(--bsf-gold);background:rgba(255,255,255,.08);padding:4px 14px;border-radius:8px;}
.bsf-exam-timer-low{color:#fff;background:var(--bsf-bad);animation:bsfpulse 1s infinite;}
@keyframes bsfpulse{50%{opacity:.55;}}

.bsf-exam-palette{display:flex;flex-wrap:wrap;gap:8px;padding:16px 22px;border-bottom:1px solid var(--bsf-line);background:#fafbfd;}
.bsf-pal{width:38px;height:38px;border:1px solid var(--bsf-line);background:#fff;border-radius:8px;font-weight:700;cursor:pointer;color:var(--bsf-ink);position:relative;}
.bsf-pal.is-answered{background:var(--bsf-navy);color:#fff;border-color:var(--bsf-navy);}
.bsf-pal.is-current{outline:3px solid var(--bsf-gold);outline-offset:1px;}
.bsf-pal.is-flagged::after{content:"★";position:absolute;top:-6px;right:-4px;color:var(--bsf-gold);font-size:13px;}

.bsf-exam-q{padding:26px 22px;}
.bsf-exam-counter{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--bsf-mut);margin-bottom:10px;}
.bsf-exam-stem{font-size:19px;font-weight:600;line-height:1.5;margin-bottom:20px;}
.bsf-exam-choices{display:flex;flex-direction:column;gap:10px;}
.bsf-exam-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--bsf-line);border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .12s,background .12s;}
.bsf-exam-choice:hover{border-color:var(--bsf-navy-2);}
.bsf-exam-choice.is-selected{border-color:var(--bsf-navy);background:#f0f4fa;}
.bsf-exam-choice input{margin-top:3px;}
.bsf-exam-choice-text{font-size:16px;line-height:1.45;}

.bsf-exam-nav{display:flex;flex-wrap:wrap;gap:10px;padding:16px 22px;border-top:1px solid var(--bsf-line);background:#fafbfd;}
.bsf-exam-btn{cursor:pointer;border:none;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:700;}
.bsf-exam-ghost{background:#fff;border:1px solid var(--bsf-line);color:var(--bsf-ink);}
.bsf-exam-ghost:disabled{opacity:.4;cursor:not-allowed;}
.bsf-exam-flag{background:#fff;border:1px solid var(--bsf-gold);color:#8a6f12;}
.bsf-exam-flag.is-on{background:var(--bsf-gold);color:var(--bsf-navy);}
.bsf-exam-submit{margin-left:auto;background:var(--bsf-gold);color:var(--bsf-navy);}

/* Results */
.bsf-exam-result-head{padding:30px 22px;text-align:center;color:#fff;}
.bsf-exam-result-head.is-pass{background:linear-gradient(135deg,#13643f,#1d8a52);}
.bsf-exam-result-head.is-fail{background:linear-gradient(135deg,#0b1f3a,#13294b);}
.bsf-exam-score{font-size:52px;font-weight:800;line-height:1;}
.bsf-exam-verdict{margin-top:8px;font-weight:600;opacity:.95;}
.bsf-exam-xp{margin-top:6px;color:var(--bsf-gold);font-weight:700;}
.bsf-exam-review{padding:18px 22px;display:flex;flex-direction:column;gap:16px;}
.bsf-exam-rcard{border:1px solid var(--bsf-line);border-left:4px solid var(--bsf-mut);border-radius:10px;padding:16px;}
.bsf-exam-rcard.ok{border-left-color:var(--bsf-good);}
.bsf-exam-rcard.bad{border-left-color:var(--bsf-bad);}
.bsf-exam-rq{font-size:16px;line-height:1.5;margin-bottom:12px;}
.bsf-exam-ropt{padding:8px 12px;border-radius:7px;font-size:15px;margin-bottom:6px;background:#f7f8fa;}
.bsf-exam-ropt.correct{background:#e6f4ec;color:#13643f;font-weight:600;}
.bsf-exam-ropt.yourwrong{background:#fbe9e6;color:#8a2417;}
.bsf-exam-ropt em{font-style:normal;font-size:12px;opacity:.8;margin-left:6px;}
.bsf-exam-expl{margin-top:10px;font-size:14px;color:#33405a;line-height:1.55;background:#f5f7fa;border-radius:8px;padding:12px;}
.bsf-exam-review + .bsf-exam-submit{margin:0 22px 22px;}

@media(max-width:560px){
	.bsf-exam-stem{font-size:17px;}
	.bsf-pal{width:34px;height:34px;}
}
