
:root{--navy:#14375d;--blue:#1767c0;--pink:#e83e8c;--ink:#172033;--muted:#64748b;--line:#dce5f0;--bg:#f3f7fc;--good:#16854b;--bad:#c53a3a}
.course-label{display:block;max-width:650px;margin:24px auto 7px;text-align:left;font-weight:800;color:var(--navy)}.course-select{display:block;width:min(650px,100%);margin:0 auto 14px;padding:14px;border:1.5px solid #bfd3e9;border-radius:12px;background:#fff;color:var(--navy);font-size:16px;font-weight:700}
.set-heading{margin:26px 0 12px;color:var(--navy);font-size:20px}.set-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 auto 18px;max-width:650px}.set-button{border:1.5px solid #bfd3e9;border-radius:14px;padding:15px 8px;background:#f7fbff;color:var(--navy);cursor:pointer}.set-button:hover{border-color:var(--blue);background:#eaf4ff;transform:translateY(-2px)}.set-button strong,.set-button span{display:block}.set-button strong{font-size:18px}.set-button span{font-size:11px;color:var(--muted);margin-top:4px}.practice-timer{margin-left:auto;background:#edf3fa;color:var(--navy);padding:7px 11px;border-radius:9px;font-weight:900}.practice-timer.timer-warning{background:#fff0f0;color:var(--bad);animation:timer-pulse 1s infinite}@keyframes timer-pulse{50%{transform:scale(1.05)}}.option:disabled{cursor:default;opacity:1}.option.correct-answer{border-color:var(--good);background:#eaf8f0;color:#0d6337}.option.correct-answer .letter{background:var(--good);color:#fff}.option.wrong-answer{border-color:var(--bad);background:#fff0f0;color:#a62d2d}.option.wrong-answer .letter{background:var(--bad);color:#fff}.answer-feedback{display:flex;align-items:center;gap:12px;margin-top:4px;padding:14px;border-radius:12px;font-weight:800}.correct-feedback{background:#eaf8f0;color:var(--good)}.wrong-feedback{background:#fff0f0;color:var(--bad)}.slap-mark{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:#df2525;font-size:27px;box-shadow:0 5px 14px rgba(197,58,58,.35);animation:slap-in .38s ease-out}@keyframes slap-in{0%{transform:translateX(55px) rotate(28deg) scale(1.8);opacity:0}65%{transform:translateX(-7px) rotate(-12deg) scale(.92)}100%{transform:translateX(0) rotate(0) scale(1);opacity:1}}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#edf5ff,#fff 55%,#fff2f8);min-height:100vh}.shell{width:min(900px,calc(100% - 28px));margin:26px auto}.brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.logo{background:var(--navy);color:#fff;font-weight:900;font-size:25px;padding:13px 14px;border-radius:12px;letter-spacing:.5px}.brand strong,.brand span{display:block}.brand strong{color:var(--navy);font-size:17px}.brand span{color:var(--pink);font-weight:800;margin-top:3px}.card{background:#fff;border:1px solid #e7edf5;border-radius:22px;padding:clamp(22px,5vw,48px);box-shadow:0 18px 50px rgba(20,55,93,.11)}.hidden{display:none!important}.welcome{text-align:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--pink);margin:0 0 10px}.welcome h1,.result h1{font-size:clamp(34px,7vw,56px);color:var(--navy);margin:0}.lead{max-width:670px;margin:14px auto 24px;color:var(--muted);line-height:1.6}.facts,.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.facts div,.result-grid div{padding:16px 10px;border-radius:14px;background:#f5f8fc}.facts b,.facts span,.result-grid b,.result-grid span{display:block}.facts b,.result-grid b{font-size:22px;color:var(--navy)}.facts span,.result-grid span{font-size:12px;color:var(--muted);margin-top:4px}.name-label{display:block;text-align:left;max-width:460px;margin:22px auto 7px;font-weight:700;font-size:14px}input{width:min(460px,100%);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:16px;display:block;margin:0 auto 14px}.primary,.secondary,.submit{border:0;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff}.secondary{background:#edf3fa;color:var(--navy)}.submit{width:100%;margin-top:16px;background:var(--pink);color:#fff}.note{font-size:12px;color:var(--muted);margin:14px 0 0}.quiz-top{display:flex;justify-content:space-between;gap:12px;font-weight:800;color:var(--navy);font-size:14px}.progress{height:8px;background:#e9eff6;border-radius:20px;margin:14px 0 28px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--blue));transition:.25s}.quiz h2{font-size:clamp(21px,4vw,29px);line-height:1.35;margin:0 0 24px}.options{display:grid;gap:11px}.option{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);padding:14px;border-radius:13px;cursor:pointer;background:#fff;text-align:left;font-size:16px;line-height:1.4}.option:hover{border-color:#8bb8e8;background:#f7fbff}.option.selected{border-color:var(--blue);background:#edf6ff;box-shadow:0 0 0 2px rgba(23,103,192,.1)}.option .letter{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;background:#edf2f8;color:var(--navy);font-weight:900}.option.selected .letter{background:var(--blue);color:#fff}.actions{display:flex;justify-content:space-between;margin-top:24px}.actions button:disabled{opacity:.4;cursor:not-allowed}.result{text-align:center}.score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:24px auto;background:conic-gradient(var(--blue) 0%,#e7edf5 0)}.score-ring:before{content:"";position:absolute;width:112px;height:112px;background:#fff;border-radius:50%}.score-ring strong{position:relative;font-size:31px;color:var(--navy)}.result .primary,.result .secondary{margin:5px}.review{margin-top:20px}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.review-item{background:#fff;border:1px solid var(--line);border-left:5px solid var(--good);border-radius:14px;padding:18px;margin:12px 0;box-shadow:0 8px 24px rgba(20,55,93,.06)}.review-item.wrong{border-left-color:var(--bad)}.review-item h3{font-size:16px;margin:0 0 10px}.review-item p{margin:5px 0;color:var(--muted)}.review-item .correct{color:var(--good);font-weight:800}.review-item .incorrect{color:var(--bad);font-weight:800}footer{text-align:center;color:var(--muted);font-size:12px;padding:8px 20px 26px}@media(max-width:600px){.shell{margin:14px auto}.card{border-radius:17px}.brand strong{font-size:14px}.quiz-top{font-size:12px}.facts,.result-grid{gap:6px}.facts b,.result-grid b{font-size:18px}.option{font-size:15px}.review-heading{align-items:flex-start;flex-direction:column}.set-picker{grid-template-columns:repeat(2,1fr)}}
