:root{--bg:#f4f6f8;--panel:#fff;--text:#17212b;--muted:#667085;--line:#dfe4ea;--accent:#0f6f68;--accent-soft:#e7f5f3;--good:#157347;--good-soft:#eaf7ef;--bad:#b42318;--bad-soft:#fff0ee;--warn:#8a5d00;--warn-soft:#fff6d8;--navy:#19324a;--shadow:0 12px 34px rgba(23,33,43,.07)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,select,input{font:inherit}.wrap{width:min(1120px,calc(100% - 28px));margin-inline:auto}.hero{background:var(--navy);color:white;padding:30px 0}.hero-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:32px;align-items:end}.eyebrow,.kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.eyebrow{color:#b8c8d9}.hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;margin:.25rem 0 .7rem}.hero p{color:#d4dde6;max-width:780px;margin:0}.exam-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.exam-facts div{border-top:2px solid rgba(255,255,255,.25);padding:9px 4px}.exam-facts strong{display:block;font-size:1.05rem}.exam-facts span{font-size:.72rem;color:#cdd8e2}main{padding-block:24px 48px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,28px);box-shadow:var(--shadow);margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.section-heading h2{margin:.15rem 0 0}.kicker{color:var(--accent);margin:0}.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:800}.pill.subtle{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.setup-grid{display:grid;grid-template-columns:1.15fr 1fr .75fr;gap:22px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:800;margin-bottom:8px}fieldset>label:not(.check-row){display:flex;flex-direction:column;gap:6px;margin:0 0 12px;font-weight:650}.radio-stack{display:grid;gap:8px}.radio-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.radio-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.radio-card input{margin-top:4px;accent-color:var(--accent)}.radio-card span{display:flex;flex-direction:column;min-width:0}.radio-card small{color:var(--muted)}select{width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--text)}select:disabled{background:#f2f4f7;color:#98a2b3}.check-row{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted)}.check-row input{accent-color:var(--accent)}.notice{margin-top:18px;padding:13px 15px;border-radius:11px;border:1px solid #c9e7e3;background:#f0faf8}.notice.warning{border-color:#edd994;background:var(--warn-soft)}.actions,.quiz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}button{min-height:44px;border-radius:10px;padding:9px 15px;font-weight:800;cursor:pointer}button.primary{border:1px solid var(--accent);background:var(--accent);color:white}button.secondary{border:1px solid var(--line);background:white;color:var(--text)}button.danger{border:1px solid #e5a39d;background:white;color:var(--bad)}button:disabled{opacity:.45;cursor:not-allowed}.message{min-height:1.2em;color:var(--bad)}.hidden{display:none!important}.quiz-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.badge-row{display:flex;gap:7px;flex-wrap:wrap}.timer{text-align:right}.timer span,.timer small{display:block;color:var(--muted);font-size:.78rem}.timer strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.timer.tolerance strong{color:var(--warn)}.progress-track{height:8px;background:var(--line);border-radius:999px;overflow:hidden;margin:16px 0}.progress-track div{height:100%;width:0;background:var(--accent);transition:width .18s}.question-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:.79rem}.question-meta span{border:1px solid var(--line);background:var(--bg);padding:4px 8px;border-radius:999px}.question{font-size:clamp(1.15rem,2.3vw,1.55rem);line-height:1.4;white-space:pre-line;margin:18px 0}.answers{display:grid;gap:10px}.answer{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.answer:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.answer input{margin-top:4px;accent-color:var(--accent)}.answer.correct{border-color:var(--good);background:var(--good-soft)}.answer.wrong{border-color:var(--bad);background:var(--bad-soft)}.feedback{padding:15px;margin-top:16px;border-radius:11px;border:1px solid var(--line);background:var(--bg)}.feedback.good{border-color:#a8d5bd;background:var(--good-soft)}.feedback.bad{border-color:#efb3ad;background:var(--bad-soft)}.feedback h4{margin:0 0 6px}.feedback p{margin:.45rem 0}.feedback a,.source-list a,#review a{color:var(--accent)}.exam-nav{display:grid;grid-template-columns:repeat(10,minmax(36px,1fr));gap:6px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.qnav{min-height:38px;padding:4px;border:1px solid var(--line);background:white;color:var(--text);border-radius:8px}.qnav.current{outline:2px solid var(--accent);outline-offset:1px}.qnav.answered{background:var(--accent-soft);border-color:var(--accent)}.qnav.flagged{box-shadow:inset 0 -4px 0 #c58a00}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.stat{border:1px solid var(--line);border-radius:12px;padding:13px}.stat strong{display:block;font-size:1.35rem}.stat span{font-size:.77rem;color:var(--muted)}.cat-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:9px 0}.result-summary{font-size:1rem}.result-summary .pass{color:var(--good);font-weight:800}.result-summary .fail{color:var(--bad);font-weight:800}#review details{border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin:9px 0}#review summary{cursor:pointer;font-weight:700}.source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.source-list>div{min-width:0}.source-list a{text-decoration:none;font-weight:650}.source-list small{display:block;color:var(--muted)}footer{border-top:1px solid var(--line);padding:22px 0 30px;text-align:center;color:var(--muted);font-size:.82rem}
@media(max-width:880px){.hero-inner,.setup-grid{grid-template-columns:1fr}.exam-facts{max-width:620px}.source-list{grid-template-columns:1fr}.exam-nav{grid-template-columns:repeat(8,1fr)}}
@media(max-width:560px){.wrap{width:min(100% - 20px,1120px)}.hero{padding:22px 0}.exam-facts{grid-template-columns:repeat(3,1fr)}.quiz-top{flex-direction:column}.timer{text-align:left}.quiz-actions button{flex:1 1 42%}.score-grid{grid-template-columns:1fr 1fr}.exam-nav{grid-template-columns:repeat(5,1fr)}.section-heading{flex-direction:column}.panel{border-radius:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.progress-track div{transition:none}}
.notice.compact{padding:10px 13px;background:#f7f8fa;border-color:var(--line)}
.muted{color:var(--muted)}.small{font-size:.82rem}.mini{min-height:38px;padding:6px 10px;font-size:.82rem}
.report-dialog{width:min(650px,calc(100% - 24px));border:1px solid var(--line);border-radius:16px;padding:0;box-shadow:0 28px 80px rgba(23,33,43,.2);color:var(--text)}
.report-dialog::backdrop{background:rgba(13,25,38,.55)}.report-dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dialog-head h2{margin:.1rem 0 0}.icon-btn{border:0;background:transparent;font-size:1.8rem;line-height:1;padding:2px 8px;min-height:38px;color:var(--muted)}.report-meta{padding:9px 11px;background:var(--bg);border:1px solid var(--line);border-radius:9px;font-size:.84rem;color:var(--muted);overflow-wrap:anywhere}.report-dialog label{display:flex;flex-direction:column;gap:6px;font-weight:700;margin-top:14px}.report-dialog textarea{width:100%;resize:vertical;min-height:120px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--text)}.report-dialog textarea:focus,.report-dialog select:focus{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:560px){.report-dialog form{padding:17px}.report-dialog .actions button{flex:1 1 40%}}
