.ielts-shell{width:min(980px,100% - 2rem);min-width:0;margin:2rem auto 4rem}.ielts-exam{gap:1.25rem;display:grid}.ielts-heading{border:1px solid var(--border);background:var(--card-bg);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1.4rem;display:flex}.ielts-heading>div{min-width:0}.exam-timer{text-align:center;border:1px solid var(--accent-gold);background:#fffaf0;border-radius:.75rem;flex:none;gap:.15rem;min-width:110px;padding:.65rem .8rem;display:grid}.exam-timer span{text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.exam-timer strong{color:#966313;font-variant-numeric:tabular-nums;font-size:1.35rem}.ielts-heading h1{margin:.15rem 0 .35rem}.ielts-heading p{color:var(--muted);margin:.25rem 0}.module-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.module-progress button{border:1px solid var(--border);background:var(--card-bg);color:var(--text-main);text-align:left;cursor:pointer;border-radius:.75rem;gap:.35rem;padding:.75rem;display:grid}.module-progress button.active{border-color:var(--accent-gold);box-shadow:0 0 0 3px #e5a93b1f}.module-progress strong{color:var(--muted);font-size:.78rem}.module-track{background:#e8e8e8;border-radius:999px;height:5px;overflow:hidden}.module-track span{border-radius:inherit;background:var(--accent-gold);height:100%;display:block}.module-panel{gap:1rem;display:grid}.module-panel>header{padding:.75rem 0}.module-panel>header p{color:#966313;text-transform:uppercase;margin:0;font-weight:800}.module-panel>header h2{margin:.25rem 0 0}.ielts-task{border:1px solid var(--border);background:var(--card-bg);border-radius:1rem;gap:.8rem;padding:1.25rem;display:grid}.task-meta{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.ielts-task blockquote{border-left:4px solid var(--accent-gold);overflow-wrap:anywhere;background:#fffaf0;margin:0;padding:.85rem 1rem;line-height:1.65}.prompt{overflow-wrap:anywhere;margin:0;font-weight:700}.audio-button,.mic-button{background:var(--accent-gold);color:#fff;cursor:pointer;border:0;border-radius:.65rem;width:fit-content;min-height:44px;padding:.75rem 1rem;font-weight:800}.audio-button:disabled{opacity:.65;cursor:not-allowed}.audio-controls{display:flex}.text-answer small{color:var(--muted);line-height:1.5}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.option{border:1px solid var(--border);cursor:pointer;border-radius:.65rem;align-items:center;gap:.65rem;min-height:44px;padding:.65rem .75rem;display:flex}.option.selected{border-color:var(--accent-gold);background:#e5a93b17}.text-answer{gap:.75rem;display:grid}.text-answer textarea{box-sizing:border-box;border:1px solid var(--border);resize:vertical;width:100%;font:inherit;border-radius:.65rem;padding:.8rem}.submit-button{background:var(--accent-red);color:#fff;cursor:pointer;border:0;border-radius:.75rem;justify-self:center;min-height:44px;padding:.85rem 1.2rem;font-weight:800}.ielts-result{border:1px solid var(--border);text-align:center;border-radius:1rem;gap:1rem;padding:1.25rem;display:grid}.ielts-result.passed{background:#edf8ef;border-color:#9bd0a5}.ielts-result.failed{background:#fff2f2;border-color:#e6a3a3}.result-label{letter-spacing:.08em;margin:0;font-size:.78rem;font-weight:900}.module-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.module-results article{border:1px solid var(--border);background:#fff;border-radius:.65rem;padding:.75rem}.module-results article p{color:var(--muted);margin:.25rem 0 0}.module-results article.failed strong{color:#b42318}.module-results article.passed strong{color:#218838}.retry-message{margin:0;font-weight:700}.result-navigation{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.certificate-link{background:var(--accent-red);color:#fff;border-radius:.65rem;justify-self:center;padding:.75rem 1rem;font-weight:800;text-decoration:none}.failure-link{background:#966313}@media (width<=768px){.module-progress,.module-results{grid-template-columns:repeat(2,minmax(0,1fr))}.options{grid-template-columns:1fr}.ielts-heading{flex-direction:column;align-items:flex-start}.exam-timer{width:100%;min-width:0}.ielts-task{padding:.9rem}.text-answer textarea{min-height:140px;font-size:16px}.result-navigation a{box-sizing:border-box;text-align:center;width:100%}.submit-button{width:100%}}@media (width<=420px){.module-progress,.module-results{grid-template-columns:minmax(0,1fr)}.module-progress button{min-height:58px}}
