.test-runner{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);color:var(--text);overflow:hidden}.test-start,.test-results,.test-runner-error{max-width:760px;margin-inline:auto;padding:clamp(1.5rem,5vw,3rem)}.test-runner h2{margin-bottom:1rem;font-size:clamp(1.7rem,4vw,2.5rem)}.test-runner p{color:var(--muted)}.test-kicker{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.45rem;font-size:.75rem;font-weight:800;color:var(--brand)!important}.test-mode-summary{border-left:3px solid var(--brand);background:#f9f5ff;gap:.25rem;margin-bottom:1.5rem;padding:1rem 1.15rem;display:grid}.test-mode-summary span{color:var(--muted)}.test-primary-action,.test-secondary-action,.test-check-action{min-height:2.85rem;font:inherit;cursor:pointer;border-radius:.65rem;padding:.65rem 1rem;font-weight:750}.test-primary-action,.test-check-action{background:var(--brand);color:var(--white);border:1px solid #0000}.test-primary-action:hover:not(:disabled),.test-check-action:hover:not(:disabled){background:var(--brand-hover)}.test-secondary-action{border:1px solid var(--border);background:var(--white);color:var(--text)}.test-primary-action:disabled,.test-secondary-action:disabled,.test-check-action:disabled{cursor:not-allowed;opacity:.5}.test-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:clamp(1.25rem,4vw,2rem);display:flex}.test-toolbar h2{margin-bottom:0;font-size:clamp(1.4rem,3vw,2rem)}.test-timer{border:1px solid var(--border);background:var(--surface);text-align:right;border-radius:.75rem;min-width:8.25rem;padding:.7rem .9rem;display:grid}.test-timer span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.test-timer strong{font-variant-numeric:tabular-nums;font-size:1.4rem}.test-timer-warning{color:#b54708;background:#fffaeb;border-color:#f79009}.test-progress{border-bottom:1px solid var(--border);padding:1rem clamp(1.25rem,4vw,2rem)}.test-progress div{color:var(--muted);justify-content:space-between;margin-bottom:.45rem;font-size:.85rem;font-weight:700;display:flex}.test-progress progress{background:var(--surface-strong);border:0;border-radius:999px;width:100%;height:.55rem;display:block;overflow:hidden}.test-progress progress::-webkit-progress-bar{background:var(--surface-strong);border-radius:999px}.test-progress progress::-webkit-progress-value{background:var(--brand);border-radius:999px}.test-progress progress::-moz-progress-bar{background:var(--brand);border-radius:999px}.test-question-nav{border-bottom:1px solid var(--border);grid-template-columns:repeat(12,minmax(2rem,1fr));gap:.45rem;padding:1rem clamp(1.25rem,4vw,2rem);display:grid}.test-question-nav button{aspect-ratio:1;border:1px solid var(--border);background:var(--white);color:var(--muted);font:inherit;cursor:pointer;border-radius:.5rem;font-size:.8rem;font-weight:750}.test-question-nav button.is-answered{color:var(--brand);background:#f9f5ff;border-color:#b692f6}.test-question-nav button.is-checked{background:#f4ebff}.test-question-nav button.is-correct{color:#027a48;background:#ecfdf3;border-color:#12b76a}.test-question-nav button.is-incorrect{color:#b42318;background:#fef3f2;border-color:#f04438}.test-question-nav button.is-locked{border-color:var(--surface-strong);background:var(--surface);color:#98a2b3;cursor:not-allowed;opacity:.75}.test-question-nav button.is-current{border-color:var(--brand);color:var(--brand);outline:2px solid #6941c633}.test-question-nav button.is-current.is-correct{color:#027a48;border-color:#12b76a;outline-color:#12b76a3d}.test-question-nav button.is-current.is-incorrect{color:#b42318;border-color:#f04438;outline-color:#f0443838}.test-question-card{padding:clamp(1.25rem,5vw,3rem)}.test-question-meta{color:var(--muted);text-transform:uppercase;justify-content:space-between;margin-bottom:1.25rem;font-size:.82rem;font-weight:750;display:flex}.test-answer-fieldset{border:0;min-width:0;margin:0;padding:0}.test-answer-fieldset legend{max-width:44rem;margin-bottom:.75rem;padding:0;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:750;line-height:1.25}.test-choice-instruction{margin-bottom:1.25rem;font-size:.92rem}.test-answer-list{gap:.75rem;display:grid}.test-answer{border:1px solid var(--border);cursor:pointer;border-radius:.75rem;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;padding:.95rem 1rem;display:grid}.test-answer:hover{background:#fcfaff;border-color:#b692f6}.test-answer.is-selected{border-color:var(--brand);background:#f9f5ff}.test-answer.is-correct{background:#ecfdf3;border-color:#12b76a}.test-answer.is-incorrect{background:#fef3f2;border-color:#f04438}.test-answer input{width:1.1rem;height:1.1rem;accent-color:var(--brand);margin:0}.test-answer:has(input:disabled){cursor:default}.test-check-action{margin-top:1.25rem}.test-feedback{border:1px solid;border-radius:.75rem;margin-top:1.5rem;padding:1rem 1.15rem}.test-feedback.is-correct{color:#027a48;background:#ecfdf3;border-color:#6ce9a6}.test-feedback.is-incorrect{color:#b42318;background:#fef3f2;border-color:#fda29b}.test-feedback p{color:inherit;margin:.35rem 0 0}.test-controls{border-top:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem clamp(1.25rem,4vw,2rem);display:grid}.test-controls>span{color:var(--muted);text-align:center;font-size:.85rem}.test-controls .test-secondary-action{justify-self:start}.test-controls .test-primary-action{justify-self:end}.test-score{align-items:baseline;gap:.65rem;margin-block:1.5rem;display:flex}.test-score strong{color:var(--text);font-size:clamp(3rem,8vw,5rem);line-height:1}.test-score span{font-size:1.1rem}.test-results-pass{border-color:#6ce9a6}.test-results-fail{border-color:#fda29b}.test-results-note{border-left:3px solid var(--border);padding-left:1rem}.test-results .test-primary-action{margin-top:.75rem}.test-runner-error{background:#fef3f2;border-color:#fda29b}@media (width<=720px){.test-question-nav{grid-template-columns:repeat(8,minmax(2rem,1fr))}.test-controls{grid-template-columns:repeat(2,1fr)}.test-controls>span{grid-area:1/1/auto/-1}}@media (width<=520px){.test-toolbar{flex-direction:column;align-items:stretch}.test-timer{text-align:left}.test-question-nav{grid-template-columns:repeat(6,minmax(2rem,1fr))}.test-question-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (prefers-reduced-motion:reduce){.test-runner *{scroll-behavior:auto}}
