:root {
  --exam-navy: #0d1b2a;
  --exam-navy-2: #17283a;
  --exam-gold: #c9a84c;
  --exam-cream: #f8f5ed;
  --exam-ink: #17212b;
  --exam-muted: #687482;
  --exam-line: #dde2e6;
  --exam-green: #18745a;
  --exam-red: #b83a46;
}
* { box-sizing: border-box; }
body.exam-checking { overflow: hidden; }
body.exam-checking .exam-shell { visibility: hidden; }
.exam-shell { min-height: 100vh; padding: 7.2rem 1rem 4rem; background: linear-gradient(180deg, #f7f4ec 0, #fff 430px); color: var(--exam-ink); }
.exam-container { width: min(1160px, 100%); margin: 0 auto; }
.exam-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.exam-back { display: inline-flex; align-items: center; gap: .5rem; color: var(--exam-navy); font-size: .8rem; font-weight: 800; }
.exam-mode-pill { padding: .4rem .75rem; border: 1px solid rgba(201,168,76,.42); border-radius: 999px; background: rgba(201,168,76,.1); color: #755d19; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.exam-hero { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2rem; padding: clamp(1.5rem,4vw,2.8rem); border-radius: 28px; color: white; background: linear-gradient(135deg, var(--exam-navy), var(--exam-navy-2)); box-shadow: 0 24px 65px rgba(13,27,42,.2); overflow: hidden; position: relative; }
.exam-hero::after { content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(201,168,76,.25); border-radius:50%; right:-100px; top:-120px; }
.exam-eyebrow { color: #e8cb70; font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.exam-hero h1 { margin: .45rem 0 .7rem; color: white; font-size: clamp(2rem,5vw,4rem); line-height: 1; letter-spacing: -.035em; }
.exam-hero p { max-width: 650px; margin: 0; color: rgba(255,255,255,.67); font-size: .9rem; line-height: 1.65; }
.exam-hero-stat { position: relative; z-index: 1; min-width: 150px; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.07); text-align: center; }
.exam-hero-stat strong { display:block; color:#e8cb70; font-size:1.8rem; }
.exam-hero-stat span { color:rgba(255,255,255,.55); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.exam-progress-dashboard { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:.85rem; margin-top:1.15rem; align-items:start; }
.exam-progress-dashboard[hidden] { display:none; }

/* Where you left off */
.exam-continue-box { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:104px; padding:1.05rem 1.15rem; border:1px solid var(--exam-line); border-radius:17px; background:white; box-shadow:0 8px 24px rgba(13,27,42,.05); color:inherit; text-align:left; font:inherit; cursor:pointer; }
.exam-continue-box:hover:not(:disabled) { border-color:rgba(201,168,76,.72); }
.exam-continue-box:disabled { cursor:default; }
.exam-continue-box span { color:#8d6f1d; font-size:.58rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.exam-continue-box strong { margin-top:.35rem; color:var(--exam-navy); font-size:.92rem; line-height:1.35; }
.exam-continue-box small { margin-top:.35rem; color:var(--exam-muted); font-size:.6rem; }

/* Mistakes to retake */
.exam-mistake-card { padding:1.05rem 1.15rem; border:1px solid var(--exam-line); border-radius:17px; background:white; box-shadow:0 8px 24px rgba(13,27,42,.05); }
.exam-mistake-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.exam-mistake-head h2 { margin:0 0 .18rem; color:var(--exam-navy); font-size:.95rem; }
.exam-mistake-head p { margin:0; color:var(--exam-muted); font-size:.63rem; line-height:1.45; }
.exam-review-mistakes-btn { flex:0 0 auto; min-height:40px; padding:0 .95rem; border:0; border-radius:10px; background:var(--exam-navy); color:white; font:800 .65rem/1 Inter,sans-serif; cursor:pointer; }
.exam-review-mistakes-btn:disabled { background:#edf0f2; color:#8b949b; cursor:default; }
.exam-mistake-list { display:grid; gap:.4rem; max-height:270px; margin-top:.85rem; overflow-y:auto; }
.exam-mistake-empty { margin:0; padding:.7rem .75rem; border-radius:10px; background:#f5f7f7; color:var(--exam-muted); font-size:.6rem; }
.exam-mistake-row { display:block; width:100%; padding:.6rem .7rem; border:1px solid #e6e9eb; border-radius:11px; background:#fbfcfc; text-align:left; font:inherit; cursor:pointer; }
.exam-mistake-row:hover { border-color:rgba(201,168,76,.72); background:#fffbeb; }
.exam-mistake-row-head { display:flex; align-items:center; gap:.45rem; }
.exam-mistake-level { padding:.12rem .34rem; border-radius:5px; background:#eef1f3; color:#5c6970; font-size:.5rem; font-weight:800; }
.exam-mistake-ref { color:var(--exam-navy); font-size:.63rem; font-weight:700; }
.exam-mistake-count { color:#a9682a; font-size:.52rem; font-weight:700; }
.exam-mistake-go { margin-left:auto; color:#8d6f1d; font-size:.55rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.exam-mistake-text { margin:.3rem 0 0; color:var(--exam-muted); font-size:.6rem; line-height:1.5; }
@media (max-width: 820px) {
  .exam-progress-dashboard { grid-template-columns:1fr; }
  .exam-mistake-head { flex-direction:column; align-items:flex-start; gap:.6rem; }
  .exam-review-mistakes-btn { width:100%; min-height:44px; }
  .exam-mistake-row { min-height:44px; }
}
.exam-library { margin-top: 1.5rem; }
.exam-library-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.exam-library-head h2 { margin:0; color:var(--exam-navy); font-size:1.3rem; }
.exam-library-head p { margin:.25rem 0 0; color:var(--exam-muted); font-size:.78rem; }
.exam-test-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; }
.exam-test-card { padding:1rem; border:1px solid var(--exam-line); border-radius:16px; background:white; box-shadow:0 8px 24px rgba(13,27,42,.055); transition:.18s ease; text-align:left; font:inherit; color:inherit; }
.exam-test-card:hover { border-color:rgba(201,168,76,.75); transform:translateY(-2px); box-shadow:0 12px 30px rgba(13,27,42,.09); }
.exam-test-card-top { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.exam-test-card strong { color:var(--exam-navy); font-size:.9rem; }
.exam-test-card small { display:block; margin-top:.4rem; color:var(--exam-muted); font-size:.68rem; }
.exam-card-status { font-size:.6rem; font-weight:800; color:#755d19; }
.exam-progress-mini { height:4px; margin-top:.7rem; border-radius:99px; background:#edf0f2; overflow:hidden; }
.exam-progress-mini span { display:block; height:100%; background:var(--exam-gold); }
.exam-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin-top:.75rem; }
.exam-card-btn { min-height:34px; border-radius:9px; font:800 .66rem/1 'Inter'; cursor:pointer; }
.exam-card-btn-learn { border:1px solid rgba(201,168,76,.65); background:#fff9e9; color:#765e1c; }
.exam-card-btn-exam { border:1px solid var(--exam-navy); background:var(--exam-navy); color:white; }
.exam-coming-card { opacity:.7; cursor:default; }
.exam-coming-card:hover { transform:none; border-color:var(--exam-line); box-shadow:0 8px 24px rgba(13,27,42,.055); }

.exam-run { margin-top:1.4rem; }
.exam-run[hidden], .exam-library[hidden], .exam-results[hidden] { display:none !important; }
.exam-run-head { position:sticky; top:70px; z-index:10; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding:.8rem 1rem; border:1px solid var(--exam-line); border-radius:16px; background:rgba(255,255,255,.95); box-shadow:0 8px 26px rgba(13,27,42,.09); backdrop-filter:blur(14px); }
.exam-run-title { color:var(--exam-navy); font-size:.8rem; font-weight:800; }
.exam-counter { color:var(--exam-muted); font-size:.72rem; }
.exam-timer { color:var(--exam-navy); font:800 1.15rem/1 'Inter',sans-serif; font-variant-numeric:tabular-nums; text-align:center; }
.exam-timer.urgent { color:var(--exam-red); }
.exam-save-state { justify-self:end; color:var(--exam-muted); font-size:.68rem; }
.exam-progress { height:5px; margin-top:.7rem; background:#e9edf0; border-radius:999px; overflow:hidden; }
.exam-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--exam-gold),#e5c85f); transition:width .2s; }
.exam-workspace { display:grid; grid-template-columns:112px minmax(0,1fr); gap:1rem; margin-top:1rem; }
.exam-navigator { align-self:start; position:sticky; top:150px; max-height:calc(100vh - 175px); overflow:auto; padding:.7rem; border:1px solid var(--exam-line); border-radius:15px; background:white; display:grid; grid-template-columns:1fr 1fr; gap:.4rem; }
.exam-nav-q { width:40px; height:31px; border:1px solid var(--exam-line); border-radius:7px; background:#fff; color:var(--exam-muted); font:700 .68rem/1 'Inter'; cursor:pointer; }
.exam-nav-q.answered { border-color:rgba(201,168,76,.65); background:rgba(201,168,76,.14); color:#755d19; }
.exam-nav-q.current { border-color:var(--exam-navy); background:var(--exam-navy); color:white; }
.exam-nav-q.learned { border-color:var(--exam-green); background:#e8f6f0; color:var(--exam-green); }
.exam-nav-q.learned.current { background:var(--exam-green); color:white; }
.exam-question-card { min-height:520px; padding:clamp(1.2rem,4vw,2.1rem); border:1px solid var(--exam-line); border-radius:22px; background:white; box-shadow:0 15px 42px rgba(13,27,42,.07); }
.exam-question-meta { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.exam-level { padding:.3rem .6rem; border-radius:999px; background:var(--exam-cream); color:#765e1c; font-size:.64rem; font-weight:800; }
.exam-question-number { color:var(--exam-muted); font-size:.7rem; font-weight:700; }
.exam-passage { margin-bottom:1.2rem; padding:1.15rem 1.25rem; border-left:4px solid var(--exam-gold); border-radius:10px; background:#fbfaf6; color:var(--exam-ink); font-size:.92rem; line-height:1.7; white-space:pre-line; }
.exam-question-text { margin:0 0 1rem; color:var(--exam-navy); font:700 clamp(1.05rem,2.5vw,1.35rem)/1.45 'Playfair Display',Georgia,serif; }
.exam-audio-box { margin-bottom:1.1rem; padding:1rem; border:1px solid rgba(201,168,76,.34); border-radius:15px; background:var(--exam-cream); }
.exam-audio-label { display:flex; align-items:center; gap:.45rem; margin-bottom:.7rem; color:#765e1c; font-size:.72rem; font-weight:800; }
.exam-audio-control { display:flex; align-items:center; gap:.8rem; width:100%; padding:.75rem; border:1px solid rgba(201,168,76,.42); border-radius:12px; background:white; color:var(--exam-navy); text-align:left; font:inherit; cursor:pointer; }
.exam-audio-control:hover { border-color:var(--exam-gold); box-shadow:0 5px 16px rgba(13,27,42,.07); }
.exam-audio-control:disabled { opacity:.6; cursor:not-allowed; }
.exam-audio-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:50%; background:var(--exam-gold); color:var(--exam-navy); }
.exam-audio-control strong, .exam-audio-control small { display:block; }
.exam-audio-control strong { font-size:.78rem; }
.exam-audio-control small { margin-top:.2rem; color:var(--exam-muted); font-size:.65rem; }
/* Persistent home for the single shared player — kept outside the question
   content so navigating between questions never remounts (and re-downloads) it.
   Must not occupy layout space. */
.exam-audio-host { position:relative; width:0; height:0; }
.exam-audio-frame { position:absolute; width:1px; height:1px; opacity:.001; pointer-events:none; border:0; }
.exam-image { display:block; width:min(420px,100%); max-height:300px; object-fit:contain; margin:0 auto 1rem; border-radius:14px; background:#f5f5f5; }
.exam-options { display:grid; gap:.65rem; }
.exam-option { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:.8rem; width:100%; padding:.82rem .9rem; border:1px solid var(--exam-line); border-radius:13px; background:#fff; color:var(--exam-ink); text-align:left; font:inherit; cursor:pointer; transition:.14s; }
.exam-option:hover { border-color:rgba(201,168,76,.75); background:#fffdf7; }
.exam-option.selected { border-color:var(--exam-gold); background:#fffaf0; box-shadow:0 0 0 2px rgba(201,168,76,.13); }
.exam-option-letter { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#edf0f2; color:var(--exam-navy); font-size:.75rem; font-weight:800; }
.exam-option.selected .exam-option-letter { background:var(--exam-gold); }
.exam-option-text { font-size:.85rem; line-height:1.45; }
.exam-option-result { display:none; align-items:center; gap:.3rem; font-size:.63rem; font-weight:800; white-space:nowrap; }
.exam-option.review-correct { border-color:#15956f; background:#e9f8f2; box-shadow:0 0 0 2px rgba(21,149,111,.13); }
.exam-option.review-correct .exam-option-letter { background:#15956f; color:white; }
.exam-option.review-correct .exam-option-result { display:flex; color:#117357; }
.exam-option.review-wrong { border-color:#d64a55; background:#fff0f1; box-shadow:0 0 0 2px rgba(214,74,85,.1); }
.exam-option.review-wrong .exam-option-letter { background:#d64a55; color:white; }
.exam-option.review-wrong .exam-option-result { display:flex; color:#ad2d39; }
.exam-option.review-correct:disabled, .exam-option.review-wrong:disabled { opacity:1; cursor:default; }
.exam-option.review-shake { animation:examAnswerShake .48s ease both; }
@keyframes examAnswerShake {
  0%,100% { transform:translateX(0); }
  20% { transform:translateX(-8px); }
  40% { transform:translateX(7px); }
  60% { transform:translateX(-5px); }
  80% { transform:translateX(3px); }
}
.exam-question-actions { display:flex; justify-content:space-between; gap:.7rem; margin-top:1.4rem; }
.exam-btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:42px; padding:.65rem 1rem; border-radius:10px; font:800 .76rem/1 'Inter'; cursor:pointer; }
.exam-btn-secondary { border:1px solid var(--exam-line); background:white; color:var(--exam-navy); }
.exam-btn-primary { border:1px solid var(--exam-navy); background:var(--exam-navy); color:white; }
.exam-btn-gold { border:1px solid var(--exam-gold); background:var(--exam-gold); color:var(--exam-navy); }
.exam-btn-gold:disabled { opacity:.72; cursor:wait; }
.exam-btn:disabled { opacity:.4; cursor:not-allowed; }

.exam-results { margin-top:1.4rem; }
.exam-result-summary { padding:clamp(1.4rem,4vw,2.3rem); border-radius:24px; background:var(--exam-navy); color:white; text-align:center; }
.exam-result-score { display:flex;align-items:baseline;justify-content:center;gap:.42rem;flex-wrap:wrap;color:#e8cb70; }
.exam-result-score strong { font:800 clamp(3rem,8vw,5.5rem)/1 'Inter'; }
.exam-result-score span { font:700 clamp(1rem,2.5vw,1.55rem)/1 'Inter';color:rgba(255,255,255,.58); }
.exam-result-score em { align-self:center;margin-left:.3rem;padding:.38rem .7rem;border:1px solid rgba(232,203,112,.45);border-radius:999px;background:rgba(232,203,112,.12);font:800 .78rem/1 'Inter';font-style:normal;letter-spacing:.06em; }
.exam-result-score .exam-nclc-badge { margin-left:0;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.09);color:white;letter-spacing:.02em; }
.exam-result-summary h2 { color:white; margin:.55rem 0 .3rem; }
.exam-result-summary p { margin:0; color:rgba(255,255,255,.62); font-size:.82rem; }
.exam-level-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.6rem; margin-top:1rem; }
.exam-level-stat { padding:.75rem; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.06); }
.exam-level-stat strong { display:block; color:white; }
.exam-level-stat span { color:rgba(255,255,255,.5); font-size:.62rem; }
.exam-review-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:1.2rem 0 .75rem; }
.exam-review-head h3 { margin:0; color:var(--exam-navy); }
.exam-review-list { display:grid; gap:.7rem; }
.exam-review-item { padding:1rem; border:1px solid var(--exam-line); border-radius:14px; background:white; }
.exam-review-item.correct { border-left:4px solid var(--exam-green); }
.exam-review-item.incorrect { border-left:4px solid var(--exam-red); }
.exam-review-title { display:flex; justify-content:space-between; gap:1rem; font-size:.78rem; font-weight:800; color:var(--exam-navy); }
.exam-review-answer { margin-top:.55rem; font-size:.78rem; color:var(--exam-muted); line-height:1.55; }
.exam-review-explanation { margin-top:.55rem; padding:.7rem .8rem; border-radius:9px; background:#f7f8f9; color:#465461; font-size:.74rem; line-height:1.55; }
.exam-study-panel { margin-top:.75rem; border:1px solid #e5e0d2; border-radius:12px; background:#fcfbf7; overflow:hidden; }
.exam-study-panel summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.78rem .9rem; color:var(--exam-navy); cursor:pointer; list-style:none; }
.exam-study-panel summary::-webkit-details-marker { display:none; }
.exam-study-panel summary span { display:flex; align-items:center; gap:.45rem; font-size:.76rem; font-weight:800; }
.exam-study-panel summary i { color:#9a7a24; }
.exam-study-panel summary small { color:var(--exam-muted); font-size:.62rem; font-weight:600; }
.exam-study-panel[open] summary { border-bottom:1px solid #e9e4d8; }
.exam-study-body { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; padding:.75rem; }
.exam-study-section { padding:.72rem .78rem; border-radius:10px; background:white; }
.exam-study-label { display:block; margin-bottom:.3rem; color:#81671f; font-size:.59rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.exam-study-copy { color:#42505d; font-size:.72rem; line-height:1.55; white-space:pre-line; }
.exam-study-answer, .exam-study-key { border-left:3px solid var(--exam-gold); }
.exam-study-answer .exam-study-copy { color:var(--exam-navy); font-weight:700; }
.exam-study-reason { grid-column:1/-1; border-left:3px solid var(--exam-gold); }
.exam-compact-transcript { grid-column:1/-1; border:1px solid var(--exam-line); border-radius:10px; background:white; overflow:hidden; }
.exam-compact-transcript summary { padding:.7rem .8rem; color:var(--exam-navy); font-size:.68rem; font-weight:800; cursor:pointer; }
.exam-compact-transcript-body { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; padding:0 .65rem .65rem; }
.exam-check-answer { width:100%; margin-top:1rem; }
.exam-live-study { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-top:1rem; padding:.85rem; border:1px solid #e5e0d2; border-left:4px solid var(--exam-gold); border-radius:14px; background:#fcfbf7; }
.exam-live-study.correct { border-left-color:var(--exam-green); }
.exam-live-study.incorrect { border-left-color:var(--exam-red); }
.exam-live-study-head { grid-column:1/-1; display:flex; justify-content:space-between; gap:1rem; padding:.75rem; border-radius:10px; background:var(--exam-navy); color:white; }
.exam-live-study-head strong { font-size:.78rem; }
.exam-live-study-head span { color:#ead06f; font-size:.72rem; font-weight:700; text-align:right; }
.exam-repeat-mistake { grid-column:1/-1; padding:.45rem .65rem; border-radius:8px; background:#fff0f1; color:#a8323d; font-size:.64rem; font-weight:800; }
.exam-study-tools { grid-column:1/-1; display:flex; gap:.45rem; }
.exam-study-tools button { min-height:34px; padding:.5rem .75rem; border:1px solid var(--exam-line); border-radius:9px; background:white; color:var(--exam-navy); font:700 .65rem/1 'Inter'; cursor:pointer; }
.exam-live-study.hide-english .exam-study-english, .exam-live-study.hide-french .exam-study-french { display:none; }
.exam-memorized-btn { grid-column:1/-1; min-height:40px; border:1px solid var(--exam-green); border-radius:10px; background:white; color:var(--exam-green); font:800 .72rem/1 'Inter'; cursor:pointer; }
.exam-memorized-btn.active { background:var(--exam-green); color:white; }
.exam-recall-card { position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:.75rem; margin-top:1rem; padding:1rem; border:1px solid #ddd5c2; border-radius:20px; background:linear-gradient(145deg,#fffef9,#f7f1e3); box-shadow:0 14px 34px rgba(13,27,42,.08); overflow:hidden; }
.exam-recall-card::before { content:""; position:absolute; width:150px; height:150px; right:-70px; top:-95px; border-radius:50%; border:1px solid rgba(201,168,76,.25); }
.exam-recall-status { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:1rem; position:relative; z-index:1; }
.exam-recall-status > span { display:flex; align-items:center; gap:.45rem; color:var(--exam-green); font-size:.68rem; font-weight:800; }
.exam-recall-card.incorrect .exam-recall-status > span { color:var(--exam-red); }
.exam-recall-status > span i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#e5f5ef; }
.exam-recall-card.incorrect .exam-recall-status > span i { background:#fae8ea; }
.exam-recall-status > strong { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--exam-navy); color:#eed77e; font-size:.78rem; }
.exam-recall-anchor { grid-column:1/-1; padding:1rem 1.1rem; border-radius:15px; background:var(--exam-navy); color:white; }
.exam-recall-anchor > span, .exam-recall-reason > span { display:block; color:#d8bd68; font-size:.56rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.exam-recall-anchor strong { display:block; margin:.4rem 0 .25rem; color:white; font:700 clamp(1.05rem,2.5vw,1.35rem)/1.35 'Playfair Display',Georgia,serif; }
.exam-recall-anchor p { margin:0; color:rgba(255,255,255,.6); font-size:.7rem; line-height:1.45; }
.exam-recall-reason { padding:.85rem; border-left:3px solid var(--exam-gold); border-radius:10px; background:white; }
.exam-recall-reason p { margin:.35rem 0 0; color:#3d4c58; font-size:.72rem; line-height:1.5; }
.exam-recall-chip-groups { display:grid; gap:.6rem; padding:.8rem; border-radius:10px; background:rgba(255,255,255,.72); }
.exam-recall-chip-groups label { display:block; margin-bottom:.35rem; color:#80661f; font-size:.54rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.exam-recall-chips { display:flex; flex-wrap:wrap; gap:.3rem; }
.exam-recall-chips span { padding:.28rem .45rem; border:1px solid #e2dccd; border-radius:999px; background:white; color:#42505d; font-size:.58rem; font-weight:700; }
.exam-recall-chips.keywords span { border-color:#dfca86; background:#fff8dd; color:#735c19; }
.exam-recall-help { grid-column:1/-1; border-top:1px solid #e3ddcf; }
.exam-recall-help summary { padding:.65rem .1rem .1rem; color:#586671; font-size:.64rem; font-weight:800; cursor:pointer; }
.exam-recall-help-body { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:.55rem; }
.exam-recall-card .exam-memorized-btn { grid-column:1/-1; border:0; background:var(--exam-gold); color:var(--exam-navy); }
.exam-recall-card .exam-memorized-btn.active { background:var(--exam-green); color:white; }
.exam-access-error { width:min(520px,calc(100% - 2rem)); margin:10rem auto; padding:2rem; border-radius:20px; background:white; text-align:center; box-shadow:0 20px 55px rgba(13,27,42,.15); }

@media (max-width:800px) {
  .exam-test-grid { grid-template-columns:repeat(3,1fr); }
  .exam-workspace { grid-template-columns:1fr; }
  .exam-navigator { position:static; display:flex; overflow-x:auto; max-height:none; padding:.55rem; }
  .exam-nav-q { flex:0 0 29px; }
  .exam-hero { grid-template-columns:1fr; }
  .exam-hero-stat { display:none; }
  .exam-level-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:520px) {
  .exam-shell { padding-top:6.4rem; }
  .exam-mistake-card { padding:.85rem; }
  .exam-test-grid { grid-template-columns:repeat(2,1fr); }
  .exam-run-head { top:62px; grid-template-columns:1fr auto; }
  .exam-save-state { display:none; }
  .exam-question-card { min-height:0; }
  .exam-question-actions { position:sticky; bottom:.5rem; padding:.5rem; border-radius:13px; background:rgba(255,255,255,.94); box-shadow:0 6px 24px rgba(13,27,42,.12); }
  .exam-option { grid-template-columns:32px 1fr; }
  .exam-option-result { grid-column:2; justify-self:start; }
  .exam-study-body { grid-template-columns:1fr; }
  .exam-study-panel summary { align-items:flex-start; flex-direction:column; gap:.25rem; }
  .exam-live-study { grid-template-columns:1fr; }
  .exam-live-study-head, .exam-repeat-mistake, .exam-study-tools, .exam-memorized-btn { grid-column:1; }
  .exam-live-study-head { flex-direction:column; }
  .exam-live-study-head span { text-align:left; }
  .exam-study-reason, .exam-compact-transcript { grid-column:1; }
  .exam-compact-transcript-body { grid-template-columns:1fr; }
  .exam-recall-card { grid-template-columns:1fr; padding:.8rem; }
  .exam-recall-status, .exam-recall-anchor, .exam-recall-help, .exam-recall-card .exam-memorized-btn { grid-column:1; }
  .exam-recall-help-body { grid-template-columns:1fr; }
}
