:is(.ielts-page,.toefl-page){font-family:IeltsYekan,"Segoe UI",Tahoma,sans-serif;max-width:1500px;margin-inline:auto}:is(.ielts-back,.toefl-back){display:inline-block;margin-block:0 1.2rem;color:#7311b5;font-weight:600}:is(.ielts-steps,.toefl-steps){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:.75rem;padding:0;margin-block:1.25rem 2rem}:is(.ielts-steps,.toefl-steps) li{display:flex;gap:.6rem;align-items:center;padding:.85rem;border-radius:14px;background:#f5f0fa;color:#84738f;font-size:.9rem}:is(.ielts-steps,.toefl-steps) b{display:grid;place-items:center;border-radius:50%;background:#e9def3;width:26px;height:26px}:is(.ielts-steps,.toefl-steps) .current{background:#f0e0fc;color:#6f0fb5;box-shadow:inset 0 0 0 1px #d8b7ed}:is(.ielts-steps,.toefl-steps) .done{background:#edf8f0;color:#287747}:is(.ielts-intro,.toefl-intro),:is(.ielts-report,.toefl-report),:is(.ielts-writing,.toefl-writing),:is(.ielts-speaking,.toefl-speaking){padding:clamp(1.2rem,3vw,2.2rem);border:1px solid #e8dcf3;border-radius:24px;background:#fff}:is(.ielts-intro,.toefl-intro){max-width:900px;margin:auto}:is(.ielts-intro,.toefl-intro) p{line-height:2;color:#756985}:is(.ielts-intro,.toefl-intro) h2,:is(.ielts-report,.toefl-report) h2{font-size:1.5rem;color:#332241}:is(.ielts-eyebrow,.toefl-eyebrow){display:inline-block;color:#7b1cbd;padding:.4rem .8rem;border-radius:10px;background:#f5eefa;margin-bottom:1rem}:is(.ielts-muted,.toefl-muted){font-size:.9rem}:is(.ielts-exam-toolbar,.toefl-exam-toolbar){position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:#fcfaff;border:1px solid #e2d2ef;border-radius:18px;padding:1rem;margin-block:1rem}:is(.ielts-exam-toolbar,.toefl-exam-toolbar) h2{font-size:1.3rem;margin:0}:is(.ielts-timer,.toefl-timer){font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;color:#7222ad;background:#f1e6fa;border-radius:10px;padding:.3rem .8rem}:is(.ielts-part-tabs,.toefl-part-tabs){display:flex;gap:.65rem;flex-wrap:wrap;margin-block:1.5rem}:is(.ielts-part-tabs,.toefl-part-tabs) button{background:#fff;border:1px solid #e1d1ed;border-radius:12px;padding:.7rem 1rem;color:#795f8c;font:inherit}:is(.ielts-part-tabs,.toefl-part-tabs) button.active{background:#8022bb;color:#fff;border-color:#8022bb}:is(.ielts-workspace,.toefl-workspace){display:grid;gap:1.25rem}:is(.ielts-workspace,.toefl-workspace).with-passage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}:is(.ielts-reading,.toefl-reading),:is(.ielts-questions,.toefl-questions){padding:clamp(1rem,2vw,1.6rem);background:#fff;border:1px solid #e8dcf3;border-radius:20px;min-width:0}:is(.ielts-reading,.toefl-reading){position:sticky;top:100px;max-height:calc(100vh - 130px);overflow:auto}:is(.ielts-workspace,.toefl-workspace) h3,:is(.ielts-writing,.toefl-writing) h3,:is(.ielts-speaking,.toefl-speaking) h3{font-size:1.15rem;color:#3e2a50}:is(.ielts-passage,.toefl-passage){white-space:pre-line;line-height:1.95;color:#50465b;font-size:1rem}:is(.ielts-question,.toefl-question){border:0;border-bottom:1px solid #eee6f4;padding:1.5rem 0;margin:0}:is(.ielts-question,.toefl-question):first-of-type{padding-top:1rem}:is(.ielts-question,.toefl-question) legend{font-size:1rem;float:none;width:auto;line-height:1.8;margin-bottom:.65rem;color:#3f2e50}:is(.ielts-option,.toefl-option){display:flex;align-items:baseline;gap:.65rem;margin-bottom:.5rem;padding:.65rem .8rem;border:1px solid #ece2f4;border-radius:10px;font-weight:400;color:#574762;cursor:pointer}:is(.ielts-option,.toefl-option):has(input:checked){background:#f4e9fc;border-color:#ac72d2}:is(.ielts-option,.toefl-option) input{accent-color:#8220ba}:is(.ielts-limit,.toefl-limit){font-size:.9rem;line-height:1.9;font-weight:400;color:#7d7188;display:block;margin-bottom:.5rem;text-align:start;unicode-bidi:isolate}:is(.ielts-limit,.toefl-limit)[lang="fa"]{font-family:IeltsYekan,"Segoe UI",Tahoma,sans-serif}:is(.ielts-questions,.toefl-questions) audio{width:100%;margin-block:1rem}:is(.ielts-confirm,.toefl-confirm){padding:1.25rem;border:1px solid #d8b5f0;border-radius:16px;background:#fbf6ff;margin-block:1rem}:is(.ielts-confirm,.toefl-confirm) p{color:#685177;line-height:1.9}:is(.ielts-writing,.toefl-writing) p{line-height:1.9;color:#574762}:is(.ielts-writing,.toefl-writing) textarea,:is(.ielts-speaking,.toefl-speaking) textarea{font:inherit;line-height:1.9;resize:vertical;min-height:150px}:is(.ielts-word-count,.toefl-word-count){font-size:.9rem;margin-top:.75rem}:is(.ielts-table-wrap,.toefl-table-wrap){overflow-x:auto;margin-block:1.5rem}:is(.ielts-writing,.toefl-writing) table{border-collapse:collapse;min-width:320px;width:100%;max-width:650px}:is(.ielts-writing,.toefl-writing) th,:is(.ielts-writing,.toefl-writing) td{border:1px solid #dfd1e9;padding:.8rem}:is(.ielts-writing,.toefl-writing) th{background:#f6effb}:is(.ielts-recorder,.toefl-recorder),:is(.ielts-recorded,.toefl-recorded){display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-block:1.25rem}:is(.ielts-recorder,.toefl-recorder) audio,:is(.ielts-recorded,.toefl-recorded) audio{max-width:100%}:is(.ielts-scores,.toefl-scores){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-block:1.5rem}:is(.ielts-scores,.toefl-scores) article{padding:1.25rem;background:#faf6fe;border:1px solid #e8d8f3;border-radius:16px}:is(.ielts-scores,.toefl-scores) span,:is(.ielts-scores,.toefl-scores) strong{display:block}:is(.ielts-scores,.toefl-scores) strong{font-size:1.6rem;color:#6f20a5;margin-top:.6rem}:is(.ielts-scores,.toefl-scores) :is(.ielts-pending,.toefl-pending){font-size:.95rem}:is(.ielts-review,.toefl-review){border:1px solid #e8dcf3;border-radius:14px;padding:1rem;margin-block:1rem}:is(.ielts-review,.toefl-review) summary{cursor:pointer;font-weight:600;color:#65467d}:is(.ielts-review,.toefl-review) pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#50465b;background:#faf7fc;padding:1rem;border-radius:10px;font:inherit;line-height:1.9}:is(.ielts-review-answer,.toefl-review-answer){margin-top:1rem;padding:1rem;border-inline-start:4px solid #b66d7e;background:#fff6f7}:is(.ielts-review-answer,.toefl-review-answer).correct{border-color:#419669;background:#f2faf5}:is(.ielts-review-answer,.toefl-review-answer) p{margin:.5rem 0;line-height:1.7}:is(.ielts-page,.toefl-page) button:focus-visible,:is(.ielts-page,.toefl-page) a:focus-visible,:is(.ielts-page,.toefl-page) input:focus-visible,:is(.ielts-page,.toefl-page) textarea:focus-visible,:is(.ielts-page,.toefl-page) summary:focus-visible{outline:3px solid #a354d1;outline-offset:3px}
@media(max-width:991px){:is(.ielts-workspace,.toefl-workspace).with-passage{grid-template-columns:1fr}:is(.ielts-reading,.toefl-reading){position:static;max-height:55vh}:is(.ielts-scores,.toefl-scores){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){:is(.ielts-steps,.toefl-steps){grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}:is(.ielts-steps,.toefl-steps) li{font-size:.8rem;padding:.65rem}:is(.ielts-exam-toolbar,.toefl-exam-toolbar){gap:.65rem;padding:.8rem}:is(.ielts-exam-toolbar,.toefl-exam-toolbar) h2{font-size:1rem}:is(.ielts-timer,.toefl-timer){font-size:1.1rem}:is(.ielts-finish,.toefl-finish){font-size:.75rem;padding:.65rem}:is(.ielts-scores,.toefl-scores){gap:.6rem}:is(.ielts-scores,.toefl-scores) article{padding:.8rem}:is(.ielts-part-tabs,.toefl-part-tabs) button{padding:.6rem .8rem;font-size:.9rem}:is(.ielts-reading,.toefl-reading){max-height:45vh}}

/* Shared by both simulators and loaded directly, independently of the scoped bundle. */
@font-face {
    font-family: ExamDigits;
    src: local("Segoe UI"), local("Arial");
    unicode-range: U+0030-0039;
    font-weight: 100 900;
}
@font-face {
    font-family: ExamYekan;
    src: url("/fonts/yekan/IRANYEKANWEBREGULAR.TTF") format("truetype");
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: ExamYekan;
    src: url("/fonts/yekan/IRANYEKANWEBBOLD.TTF") format("truetype");
    font-weight: 700;
    font-display: swap;
}
.study-plans.exam-page, .study-plans.exam-catalog {
    --exam-accent: var(--color1, #7022b8);
    --exam-accent-light: var(--color2, #a52bea);
    --exam-border: #e9def3;
    --exam-muted: #7e708c;
    font-family: ExamDigits, ExamYekan, Tahoma, sans-serif;
    max-width: 1440px;
    min-width: 0;
    margin-inline: auto;
    gap: 22px;
    overflow-wrap: anywhere;
}
.exam-page *, .exam-catalog * { box-sizing: border-box; }
.exam-page [lang="en"], .exam-page [role="timer"], .exam-step-copy, .exam-page :is(.ielts-steps,.toefl-steps) b {
    font-family: ExamDigits, "Segoe UI", ExamYekan, sans-serif;
}
.exam-page .sp-heading, .exam-catalog .sp-heading {
    padding: 24px 28px;
    border: 1px solid var(--exam-border);
    border-radius: 22px;
    background: linear-gradient(115deg, #fcf9ff, #f4ebfc);
}
.exam-page .sp-heading h1, .exam-catalog .sp-heading h1 { margin: 0 0 8px; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.7; }
.exam-page .sp-heading-icon, .exam-catalog .sp-heading-icon {
    width: 64px;
    height: 64px;
    background: #fff;
    color: var(--exam-accent);
    border: 1px solid #e8d9f3;
    box-shadow: 0 8px 20px #7022b80b;
}
.exam-page :is(.ielts-back,.toefl-back) {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 10px;
    margin: 0;
    color: var(--exam-accent);
    background: #faf6fe;
    border: 1px solid var(--exam-border);
    border-radius: 12px;
    padding: 10px 16px;
    text-decoration: none;
    font-size: .82rem;
}
.exam-page :is(.ielts-steps,.toefl-steps) { gap: 12px; margin: 0; list-style: none; padding: 0; }
.exam-page :is(.ielts-steps,.toefl-steps) li {
    min-width: 0;
    gap: 12px;
    padding: 18px 16px;
    border: 1px solid #eae2f1;
    border-radius: 16px;
    background: #fcfaff;
    color: #7a6c87;
    box-shadow: none;
}
.exam-page :is(.ielts-steps,.toefl-steps) li::marker { content: ""; }
.exam-page :is(.ielts-steps,.toefl-steps) b { width: 34px; height: 34px; flex-shrink: 0; background: #efe6f7; font-size: .95rem; }
.exam-step-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: .93rem; font-weight: 600; }
.exam-step-copy small { color: inherit; opacity: .8; font-family: ExamDigits, ExamYekan, sans-serif; font-size: .65rem; font-weight: 400; line-height: 1.7; }
.exam-page :is(.ielts-steps,.toefl-steps) .current { background: linear-gradient(120deg, var(--exam-accent-light), var(--exam-accent)); color: #fff; border-color: transparent; box-shadow: 0 7px 18px #7022b81b; }
.exam-page :is(.ielts-steps,.toefl-steps) .current b { background: #ffffff28; color: #fff; }
.exam-page :is(.ielts-steps,.toefl-steps) .done { color: #25734f; border-color: #d5eadc; background: #f0faf4; }
.exam-page :is(.ielts-steps,.toefl-steps) .done b { background: #ddf0e5; }
.exam-page :is(.ielts-intro,.toefl-intro) { max-width: none; width: 100%; background: linear-gradient(145deg, #fdfbff, #f8f2fd); border-radius: 22px; padding: clamp(20px, 3vw, 36px); }
.exam-page :is(.ielts-intro,.toefl-intro) h2 { margin-bottom: 16px; font-family: "Segoe UI", sans-serif; font-size: 1.7rem; font-weight: 700; }
.exam-page :is(.ielts-intro,.toefl-intro) p { max-width: 100ch; font-size: .88rem; line-height: 2.2; }
.exam-page :is(.ielts-eyebrow,.toefl-eyebrow) { font-size: .76rem; background: #efe1fa; color: var(--exam-accent); border-radius: 9px; padding: 7px 12px; }
.exam-page :is(.ielts-exam-toolbar,.toefl-exam-toolbar) {
    top: 12px;
    margin: 0;
    padding: 16px 20px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 26px #40225909;
}
.exam-page :is(.ielts-exam-toolbar,.toefl-exam-toolbar) h2 { margin: 0; font: 700 1.2rem "Segoe UI", sans-serif; }
.exam-page :is(.ielts-timer,.toefl-timer) { border: 1px solid #e4cef4; background: #f8f0ff; color: var(--exam-accent); font-size: 1.4rem; letter-spacing: .06em; padding: 8px 16px; min-width: 100px; text-align: center; }
.exam-page :is(.ielts-part-tabs,.toefl-part-tabs) { margin: 0; gap: 8px; padding: 2px; max-height: 180px; overflow-y: auto; }
.exam-page :is(.ielts-part-tabs,.toefl-part-tabs) button { min-height: 44px; padding: 10px 16px; border: 1px solid #e6d8f0; background: #fcfaff; font: inherit; font-size: .8rem; border-radius: 11px; color: #7a5e8d; cursor: pointer; transition: background .15s, border-color .15s; }
.exam-page :is(.ielts-part-tabs,.toefl-part-tabs) button.active { background: var(--exam-accent); border-color: var(--exam-accent); color: #fff; box-shadow: 0 4px 12px #7022b81a; }
.exam-page :is(.ielts-part-tabs,.toefl-part-tabs) button:hover:not(:disabled):not(.active) { background: #f0e5f9; border-color: #c5a1df; }
.exam-page :is(.ielts-part-tabs,.toefl-part-tabs) button:disabled { opacity: .55; cursor: wait; }
.exam-page :is(.ielts-reading,.toefl-reading) { background: #fbf8fe; border-color: #e5d7f0; top: 108px; }
.exam-page :is(.ielts-workspace,.toefl-workspace).with-passage { gap: 20px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.exam-page :is(.ielts-reading,.toefl-reading,.ielts-questions,.toefl-questions) { padding: clamp(18px, 2vw, 28px); border-radius: 20px; }
.exam-page :is(.ielts-passage,.toefl-passage) { font-size: .98rem; line-height: 2; color: #51465c; }
.exam-page :is(.ielts-question,.toefl-question) { padding: 24px 0; min-width: 0; }
.exam-page :is(.ielts-question,.toefl-question) legend { white-space: pre-line; font-size: .95rem; line-height: 1.85; font-weight: 600; color: #382744; }
.exam-page :is(.ielts-question,.toefl-question) legend b { display: inline-grid; place-items: center; min-width: 28px; height: 28px; border-radius: 8px; background: #f3e8fc; color: var(--exam-accent); margin-inline-end: 5px; font-size: .85rem; }
.exam-page :is(.ielts-limit,.toefl-limit) { font-family: ExamDigits, ExamYekan, sans-serif; font-size: .74rem; color: var(--exam-muted); line-height: 2; margin: 10px 0; }
.exam-page .form-control { border: 1px solid #e0d2eb; background: #fefcff; border-radius: 12px; min-height: 48px; padding: 12px 14px; font: inherit; box-shadow: none; }
.exam-page .form-control:focus { background: #fff; border-color: #ad79cf; box-shadow: 0 0 0 3px #7022b80b; }
.exam-page :is(.ielts-option,.toefl-option) { padding: 13px 14px; border: 1px solid #e8deef; border-radius: 12px; background: #fff; font-size: .92rem; line-height: 1.8; margin-bottom: 9px; }
.exam-page :is(.ielts-option,.toefl-option):has(input:checked) { border-color: #aa73d0; background: #f8efff; }
.exam-page :is(.ielts-option,.toefl-option) input { flex-shrink: 0; accent-color: var(--exam-accent); }
.exam-page .btn { min-height: 44px; padding: 12px 20px; margin-block: 0; font-family: ExamDigits, ExamYekan, sans-serif; font-size: .8rem; box-shadow: none; text-transform: none; letter-spacing: normal; }
.exam-page .bg-gradient-primary { background-image: linear-gradient(115deg, var(--exam-accent-light), var(--exam-accent)); border-color: transparent; box-shadow: 0 5px 14px #7022b818; }
.exam-page .btn-outline-primary { color: var(--exam-accent); border: 1px solid #bd94d9; background: #fcf9ff; }
.exam-page .btn-outline-primary:hover { color: var(--exam-accent); background: #f2e7fa; }
.exam-page :is(.ielts-intro,.toefl-intro) .btn { margin-top: 12px; }
.exam-page :is(.ielts-writing,.toefl-writing,.ielts-speaking,.toefl-speaking,.ielts-report,.toefl-report) { min-width: 0; border-radius: 20px; }
.exam-page :is(.ielts-writing,.toefl-writing) textarea { min-height: 280px; line-height: 2; }
.exam-page :is(.ielts-speaking,.toefl-speaking) > audio, .exam-page :is(.ielts-questions,.toefl-questions) > audio { width: 100%; max-width: 100%; margin-block: 18px; border-radius: 12px; }
.exam-page :is(.ielts-recorder,.toefl-recorder,.ielts-recorded,.toefl-recorded) audio { min-width: 0; max-width: 100%; }
.exam-page :is(.ielts-scores,.toefl-scores) article { min-width: 0; border-radius: 16px; background: linear-gradient(150deg, #fcfaff, #f5edfc); }
.exam-page :is(.ielts-report,.toefl-report) > .btn { margin-inline-end: 8px; margin-bottom: 12px; }
.exam-page :is(.ielts-review,.toefl-review) summary { padding: 4px; line-height: 1.8; }
.exam-page :is(.ielts-review,.toefl-review)[open] summary { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid #ede3f5; }
.exam-catalog .sp-option { position: relative; overflow: hidden; background: linear-gradient(150deg,#fdfbff,#f6effc); gap: 20px; border-radius: 20px; }
.exam-catalog .sp-option::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,var(--exam-accent-light),var(--exam-accent)); }
.exam-catalog .sp-option:hover { background: #faf3ff; box-shadow: 0 10px 26px #7022b810; }
@media (max-width: 991px) {
    .exam-page :is(.ielts-workspace,.toefl-workspace).with-passage { grid-template-columns: minmax(0,1fr); }
    .exam-page :is(.ielts-reading,.toefl-reading) { position: static; max-height: 50vh; }
    .exam-page :is(.ielts-steps,.toefl-steps) li { padding: 14px 12px; gap: 9px; }
}
@media (max-width: 575px) {
    .study-plans.exam-page, .study-plans.exam-catalog { padding: 14px; gap: 16px; }
    .exam-page .sp-heading, .exam-catalog .sp-heading { padding: 18px; border-radius: 16px; gap: 12px; }
    .exam-page .sp-heading p, .exam-catalog .sp-heading p { font-size: .74rem; }
    .exam-page :is(.ielts-steps,.toefl-steps) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .exam-page :is(.ielts-steps,.toefl-steps) li { padding: 12px 10px; gap: 8px; }
    .exam-page :is(.ielts-steps,.toefl-steps) b { width: 28px; height: 28px; font-size: .8rem; }
    .exam-step-copy { font-size: .8rem; }
    .exam-step-copy small { font-size: .58rem; }
    .exam-page :is(.ielts-exam-toolbar,.toefl-exam-toolbar) { top: 6px; padding: 12px; gap: 10px; }
    .exam-page :is(.ielts-exam-toolbar,.toefl-exam-toolbar) h2 { font-size: 1.05rem; flex: 1; }
    .exam-page :is(.ielts-timer,.toefl-timer) { min-width: 85px; font-size: 1.1rem; padding: 6px 10px; }
    .exam-page :is(.ielts-finish,.toefl-finish) { flex-basis: 100%; }
    .exam-page :is(.ielts-part-tabs,.toefl-part-tabs) button { padding: 9px 12px; font-size: .74rem; }
    .exam-page :is(.ielts-reading,.toefl-reading,.ielts-questions,.toefl-questions) { padding: 16px; }
    .exam-page :is(.ielts-intro,.toefl-intro) { padding: 20px 16px; }
    .exam-page :is(.ielts-intro,.toefl-intro) > .btn { width: 100%; }
    .exam-page :is(.ielts-report,.toefl-report) > .btn { display: block; width: 100%; margin-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .exam-page button, .exam-catalog a { transition: none; }
}

.study-plans.exam-page [lang="fa"] { font-family: ExamDigits, ExamYekan, Tahoma, sans-serif; }
