:root{--ink:#17221f;--muted:#60706a;--paper:#fffcf6;--line:#dce4dc;--green:#15745d;--mint:#dff5e9;--orange:#ec8d32;--red:#bd3c35}*{box-sizing:border-box}body{margin:0;background:#f1f5ef;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}.shell{max-width:920px;margin:auto;padding:44px 22px 64px}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:28px}.eyebrow,.section-heading span{color:var(--green);font-weight:800;font-size:.75rem;letter-spacing:.13em;margin:0 0 7px}h1{font:700 clamp(2rem,5vw,3.5rem)/1.05 Georgia,serif;margin:0}.timer{background:var(--ink);color:#fff;border-radius:14px;padding:11px 18px;text-align:center;min-width:114px}.timer span{display:block;color:#b4c4bd;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.timer strong{font-size:1.35rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 9px 25px #1c3b2b0a}.welcome{display:grid;gap:28px}.welcome h2,.history h2{font:700 2rem Georgia,serif;margin:12px 0}.welcome p{color:var(--muted);max-width:560px;line-height:1.6}.tag{font-size:.75rem;font-weight:800;color:var(--orange)}.overview{display:flex;gap:12px}.overview div{flex:1;background:var(--mint);padding:16px;border-radius:12px}.overview b{display:block;font-size:1.35rem}.overview span{color:var(--muted);font-size:.82rem}.primary{border:0;border-radius:10px;background:var(--green);color:#fff;font-size:1rem;font-weight:700;padding:13px 22px;cursor:pointer;width:max-content}.primary:hover{background:#0e5e4a}.exam-list{display:grid;gap:10px}.exam-choice{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:11px;padding:13px 15px;background:#fff;cursor:pointer;color:var(--ink);font:inherit}.exam-choice:hover{border-color:var(--green);background:#f4fbf6}.exam-choice span{font-weight:800}.exam-choice small{color:var(--muted)}.exam-choice b{font-size:1.25rem;color:var(--green)}.sections{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:25px}.sections button{background:none;border:0;padding:12px 13px;color:var(--muted);font-weight:700;cursor:pointer}.sections button.active{color:var(--green);border-bottom:3px solid var(--green)}.exam-section{display:none}.exam-section.active{display:block}.section-heading{margin:0 0 22px}.section-heading h2{font:700 2rem Georgia,serif;margin:6px 0}.section-heading p{margin:0;color:var(--muted)}.question{background:var(--paper);border:1px solid var(--line);padding:22px;border-radius:16px;margin:15px 0}.question-no{font-weight:800;color:var(--orange);margin:0 0 10px}.prompt{font-size:1.08rem;line-height:1.5;margin:0 0 14px}.audio-line{display:flex;gap:12px;align-items:center;margin:0 0 14px}.listen{background:var(--mint);border:1px solid #b2dfc6;border-radius:8px;padding:8px 12px;color:var(--green);font-weight:700;cursor:pointer}.options{display:grid;gap:8px}.option{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;cursor:pointer}.option:has(input:checked){border-color:var(--green);background:#f0faf4}.word-bank{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.word{border:1px solid #abd8bf;background:#f7fffa;color:var(--green);padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer}.answer-line{min-height:44px;border:1px dashed #aab9b0;border-radius:8px;padding:10px;color:var(--muted)}.exam-footer{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}.score{font:700 clamp(3rem,9vw,5rem)/1 Georgia,serif;color:var(--green);margin:10px 0}.feedback{padding:16px;background:var(--mint);border-radius:12px;line-height:1.6}.review{margin-top:20px}.review li{margin:8px 0}.correct{color:var(--green)}.wrong{color:var(--red)}.history{margin-top:28px}.history p{color:var(--muted)}@media(max-width:560px){.shell{padding:28px 14px}header{gap:12px}.timer{padding:8px 10px;min-width:auto}.overview{flex-wrap:wrap}.overview div{min-width:30%}.sections button{font-size:.76rem;padding:10px 6px}.exam-footer{gap:12px}.primary{padding:12px 15px}}
