/* =====================================================================
   TestKav Skills - Exam Taking UI
   Inspired by the mature exam app visual language, rebuilt for testkav_skills.
   Templates live in /templates and assets live in /statics.
   ===================================================================== */
:root{
  --tk-gold:var(--sk-amber);
  --tk-gold-2:var(--sk-amber);
  --tk-blue:var(--sk-amber);
  --tk-blue-2:var(--sk-amber-deep);
  --tk-blue-deep:var(--sk-amber-deep);
  --tk-teal:var(--sk-amber);
  --tk-green:var(--sk-ok);
  --tk-red:var(--sk-danger);
  --tk-orange:var(--sk-amber-deep);
  --tk-violet:var(--sk-amber-deep);
  --tk-ink:var(--sk-ink);
  --tk-text:var(--sk-ink-soft);
  --tk-muted:var(--sk-ink-faint);
  --tk-soft:var(--sk-surface-2);
  --tk-soft-2:var(--sk-surface-3);
  --tk-border:var(--sk-line);
  --tk-border-2:var(--sk-line);
  --tk-card:var(--sk-surface);
  --tk-shadow:0 24px 70px rgba(0,0,0,.12);
  --tk-shadow-soft:0 14px 38px rgba(0,0,0,.08);
}

.market-body{background:var(--sk-bg)}
.taking-shell{width:min(1180px,calc(100% - 32px));margin:34px auto}.taking-shell.narrow{width:min(960px,calc(100% - 32px))}
.exam-intro-card,.step-card,.review-card,.result-hero,.metric,.exam-status-panel,.question-panel,.access-row,.empty-state{background:var(--sk-surface);border:1px solid var(--sk-line);border-radius:11px;box-shadow:var(--tk-shadow-soft);backdrop-filter:blur(12px)}
.exam-intro-card{display:grid;grid-template-columns:340px 1fr;overflow:hidden;min-height:360px}.exam-intro-media{background:linear-gradient(140deg,var(--sk-amber-soft),var(--sk-surface-2));position:relative;overflow:hidden}.exam-intro-media::after{content:"";position:absolute;inset:auto -40px -70px auto;width:220px;height:220px;border-radius:50%;background:rgba(255,194,24,.55)}.exam-intro-media img{width:100%;height:100%;object-fit:cover}.default-media{height:100%;display:grid;place-items:center;font-size:70px;font-weight:680;color:var(--sk-amber-deep);letter-spacing:-2px}.exam-intro-content{padding:38px}.eyebrow{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:var(--sk-amber-soft);color:var(--sk-amber-deep);font-weight:580;font-size:12px}.exam-intro-content h1,.step-card h1,.page-title-row h1{margin:15px 0 12px;color:var(--tk-ink);letter-spacing:-.5px}.exam-intro-content p,.page-title-row p{font-size:15px;color:var(--tk-muted);line-height:2}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.meta-grid span,.notice-box{background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:9px;padding:14px 16px;color:var(--sk-ink-soft)}.notice-box{border-inline-start:5px solid var(--sk-amber);box-shadow:inset 0 0 0 1px rgba(255,194,24,.05)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 18px;font-weight:680;cursor:pointer;text-decoration:none;transition:.18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.10)}.btn.primary{background:var(--sk-amber);color:#1a1306}.btn.primary:hover{background:var(--sk-amber-deep)}.btn.ghost{background:var(--sk-surface-2);color:var(--sk-ink);border:1px solid var(--sk-line)}.btn.danger{background:var(--sk-danger);color:#fff}.btn.large{padding:14px 24px}.btn.small{padding:8px 12px;font-size:12px;border-radius:9px}.btn.full{width:100%}.step-card{padding:36px}.rich-box,.rules-list article{background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:9px;padding:24px;margin-top:18px;line-height:2}.rules-list{display:grid;gap:14px}.rules-list article h3{margin-top:0}.step-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.accept-check{display:flex;gap:10px;align-items:center;width:100%;font-weight:580;color:var(--sk-ink)}.accept-check input{width:18px;height:18px;accent-color:var(--tk-blue)}

/* Official exam room */
.exam-room{width:min(1320px,calc(100% - 28px));margin:24px auto 34px;display:grid;grid-template-columns:300px 1fr;gap:20px}.exam-status-panel{padding:18px;height:max-content;position:sticky;top:18px;border-radius:11px}.exam-status-panel::before{content:"TestKav Exam";display:block;color:var(--sk-ink-faint);font-weight:580;font-size:11px;letter-spacing:.5px;text-transform:uppercase;margin:2px 4px 14px}.timer-card,.progress-card,.anti-card{background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:9px;padding:17px;margin-bottom:13px;position:relative;overflow:hidden}.timer-card::before{content:"";position:absolute;right:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--tk-gold),var(--tk-orange))}.timer-card span,.progress-card span{display:block;color:var(--sk-ink-soft);font-size:13px;font-weight:600}.timer-card strong{font-size:34px;color:var(--tk-blue-deep);letter-spacing:1px;line-height:1.4}.progress-card b{font-weight:680;color:var(--tk-ink)}.progress-line{height:10px;background:var(--sk-surface-3);border-radius:999px;overflow:hidden;margin-top:13px}.progress-line i{display:block;height:100%;background:linear-gradient(90deg,var(--tk-teal),var(--tk-blue-2),var(--tk-violet));border-radius:999px}.anti-card{font-weight:680;text-align:center}.anti-card.advanced,.anti-card.proctored{background:var(--sk-danger-soft);color:var(--sk-danger)}.anti-card.simple{background:var(--sk-warn-soft);color:var(--sk-warn)}.anti-card.open_book{background:var(--sk-ok-soft);color:var(--sk-ok)}.anti-card.none{background:var(--sk-surface-2);color:var(--sk-ink-soft)}
.question-panel{padding:0;min-height:70vh;overflow:hidden;border-radius:11px}.question-panel::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--tk-gold),var(--tk-teal),var(--tk-blue-2))}.question-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:22px 26px;border-bottom:1px solid var(--sk-line);background:var(--sk-surface)}.question-head-left,.question-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:var(--sk-amber-soft);color:var(--sk-amber-deep);font-weight:680;font-size:12px}.pill.muted{background:var(--sk-surface-2);color:var(--sk-ink-soft)}.pill.gold{background:var(--sk-amber-soft);color:var(--sk-amber-deep)}.question-body{font-size:17px;line-height:2.1;color:var(--sk-ink);background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:11px;padding:26px 30px;margin:24px 26px 20px;position:relative;overflow:hidden}.question-body::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sk-amber),var(--sk-amber-deep))}.question-body img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.12)}.question-panel form[data-answer-form],.practice-mode .question-panel form{padding:0 26px 26px}textarea{width:100%;border:1px solid var(--sk-line-strong);border-radius:9px;padding:16px;font-size:15px;line-height:1.9;box-sizing:border-box;resize:vertical;background:#fff;color:var(--tk-ink)}textarea:focus{outline:0;border-color:var(--tk-blue-2);box-shadow:0 0 0 4px var(--sk-amber-soft)}.autosave-state{margin-top:13px;color:var(--sk-ink-soft);font-size:13px;min-height:22px}.autosave-state::before{content:"●";margin-left:6px;color:var(--tk-green)}.question-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--tk-border-2)}.exam-room form[data-safe-leave] button,.question-actions button{min-height:44px}

/* Result and review */
.result-hero{padding:34px;margin-bottom:18px;background:var(--sk-surface);position:relative;overflow:hidden}.result-hero::after{content:"";position:absolute;left:-80px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,194,24,.25)}.result-status{display:inline-flex;padding:10px 16px;border-radius:999px;background:var(--sk-amber);color:#1a1306;font-weight:680}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{padding:21px}.metric span{display:block;color:var(--sk-ink-soft);font-weight:600}.metric strong{display:block;font-size:25px;color:var(--tk-blue-deep);margin-top:8px}.result-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.result-hero.disqualified{background:linear-gradient(160deg,var(--sk-surface),var(--sk-danger-soft))}.result-hero.passed{background:linear-gradient(160deg,var(--sk-surface),var(--sk-ok-soft))}.result-hero.failed{background:linear-gradient(160deg,var(--sk-surface),var(--sk-amber-soft))}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.review-list{display:grid;gap:16px}.review-card{padding:22px}.review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.answer-box,.grading-comment,.practice-explanation{background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:9px;padding:17px;margin-top:12px}.answer-box h4,.practice-explanation h4{margin:0 0 10px}.selected-answer{padding:10px 0;border-bottom:1px solid var(--sk-line)}.question-tools,.practice-tools{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;align-items:flex-start}.practice-tools{display:grid}.note-form{margin-top:12px;width:100%}.issue-report-box{margin-top:12px;background:var(--sk-warn-soft);border:1px solid var(--sk-warn-soft);border-radius:9px;padding:13px 15px}.issue-report-box summary{cursor:pointer;font-weight:680;color:var(--sk-warn)}.issue-report-box textarea{margin-top:10px;background:#fff}.muted{color:var(--sk-ink-soft)}.access-row{padding:19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.empty-state{padding:32px;text-align:center;color:var(--sk-ink-soft);border-style:dashed}.grade-fields p,.survey-form p{display:grid;gap:8px}.survey-form ul{list-style:none;padding:0;display:grid;gap:8px}.practice-mode .question-panel::before{background:linear-gradient(90deg,var(--tk-green),var(--tk-teal),var(--tk-gold))}.practice-explanation{border-right:5px solid var(--tk-green)}

@media(max-width:980px){.exam-intro-card,.exam-room{grid-template-columns:1fr}.exam-status-panel{position:static;order:-1}.result-grid,.meta-grid{grid-template-columns:1fr}.question-head,.page-title-row,.access-row,.review-head{align-items:flex-start;flex-direction:column}.question-panel form[data-answer-form],.practice-mode .question-panel form{padding:0 18px 20px}.question-body{margin:18px;padding:22px}.exam-room{width:min(100% - 18px,1320px);gap:14px}.taking-shell{width:min(100% - 18px,1180px)}}
@media(max-width:560px){.exam-intro-content,.step-card{padding:24px}.btn{width:100%}.step-actions,.question-actions,.result-actions{display:grid}.timer-card strong{font-size:29px}.question-body{font-size:15px}.market-header{position:static!important}}


/* Designer reports */
.designer-report-shell .page-title-row{align-items:flex-start}.designer-report-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:18px 0}.designer-report-grid.wide{grid-template-columns:repeat(5,minmax(0,1fr))}.designer-report-filter{display:grid;grid-template-columns:1.8fr 1fr 1fr auto;gap:12px;background:rgba(255,255,255,.92);border:1px solid var(--sk-line);border-radius:11px;padding:16px;box-shadow:var(--tk-shadow-soft);margin:18px 0}.designer-report-filter input,.designer-report-filter select{border:1px solid var(--sk-line-strong);border-radius:9px;padding:12px 14px;background:var(--sk-surface);color:var(--sk-ink);font-weight:600}.designer-report-table-wrap{background:var(--sk-surface);border:1px solid var(--sk-line);border-radius:11px;box-shadow:var(--tk-shadow-soft);overflow:auto}.designer-report-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.designer-report-table th{background:var(--sk-surface-2);color:var(--sk-ink-soft);font-size:12px;text-align:right;padding:15px 14px;font-weight:680;border-bottom:1px solid var(--tk-border)}.designer-report-table td{padding:15px 14px;border-bottom:1px solid var(--sk-line);vertical-align:middle;color:var(--tk-text)}.designer-report-table tr:last-child td{border-bottom:0}.designer-report-table td strong{display:block;color:var(--tk-ink);margin-bottom:6px}.designer-report-table td small{display:block;color:var(--sk-ink-soft);line-height:1.8}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-weight:680;font-size:12px;background:var(--sk-surface-2);color:var(--sk-ink-soft)}.status-in_progress{background:#fff7ed;color:#c2410c}.status-pending_grading{background:#fef3c7;color:#92400e}.status-passed{background:#dcfce7;color:#166534}.status-failed,.status-disqualified{background:#fee2e2;color:#991b1b}.status-not_started{background:var(--sk-info-soft);color:var(--sk-info)}.source-direct_exam{background:var(--sk-info-soft);color:var(--sk-info)}.source-course{background:#ecfdf5;color:#047857}.source-free_exam{background:#fff7ed;color:#c2410c}
@media(max-width:1100px){.designer-report-grid,.designer-report-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-report-filter{grid-template-columns:1fr}}@media(max-width:560px){.designer-report-grid,.designer-report-grid.wide{grid-template-columns:1fr}}

/* Student analytics, ratings and Q&A */
.result-grid.rich{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.result-grid.rich .metric small{display:block;color:var(--sk-ink-soft);margin-top:6px;font-weight:600}.analytics-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px;margin:18px 0}.chart-card,.rating-card,.message-card,.student-result-row{background:#fff;border:1px solid var(--sk-line);border-radius:11px;box-shadow:var(--tk-shadow-soft);padding:22px}.chart-card h3,.rating-card h3{margin:0 0 14px;color:var(--tk-ink)}.donut-chart{--ok:0;--bad:0;--empty:0;width:190px;height:190px;border-radius:50%;margin:8px auto;background:conic-gradient(#16a34a 0 calc(var(--ok)*1%),#ef4444 calc(var(--ok)*1%) calc((var(--ok) + var(--bad))*1%),#cbd5e1 calc((var(--ok) + var(--bad))*1%) 100%);display:grid;place-items:center;position:relative}.donut-chart::after{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff}.donut-chart span{position:relative;z-index:1;font-weight:680;font-size:28px;color:var(--sk-amber-deep);text-align:center}.donut-chart small{display:block;font-size:12px;color:var(--sk-ink-soft)}.legend-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.legend-row span{border-radius:999px;padding:7px 10px;font-weight:580;font-size:12px}.legend-row .ok{background:var(--sk-ok-soft);color:var(--sk-ok)}.legend-row .bad{background:var(--sk-danger-soft);color:var(--sk-danger)}.legend-row .empty{background:var(--sk-surface-2);color:var(--sk-ink-soft)}.bar-stat b{font-size:26px;color:var(--tk-blue-deep)}.bar-stat span,.mini-bars span{display:block;height:12px;background:var(--sk-surface-3);border-radius:999px;overflow:hidden;margin-top:12px}.bar-stat i,.mini-bars i{display:block;height:100%;background:linear-gradient(90deg,var(--tk-teal),var(--tk-blue-2),var(--tk-gold));border-radius:999px}.rating-card{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;align-items:start}.rating-form{display:grid;gap:12px}.rating-form textarea{min-height:90px}.star-choices ul{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.star-choices li{background:var(--sk-amber-soft);border:1px solid var(--sk-amber-line);border-radius:9px;padding:8px 10px;font-weight:680;color:var(--sk-amber-deep)}.student-result-list{display:grid;gap:14px}.student-result-row{display:flex;justify-content:space-between;gap:18px;align-items:center}.mini-bars{min-width:220px;margin-top:8px}.mini-bars b{font-size:12px;color:var(--sk-ink-soft)}.discussion-box{margin-top:12px;background:var(--sk-info-soft);border:1px solid var(--sk-info-soft);border-radius:9px;padding:13px 15px}.discussion-box summary{cursor:pointer;font-weight:680;color:var(--sk-info)}.discussion-box form{display:grid;gap:10px;margin-top:12px}.discussion-box input{border:1px solid var(--sk-line);border-radius:9px;padding:12px}.discussion-list{display:grid;gap:12px;margin:16px 0}.message-card.student{border-right:5px solid var(--tk-blue-2)}.message-card.designer{border-inline-start:5px solid var(--sk-ok);background:var(--sk-surface)}.message-card strong{display:block;color:var(--tk-ink)}.message-card span{color:var(--sk-ink-soft);font-size:12px}.discussion-reply{background:var(--sk-surface);border:1px solid var(--sk-line);border-radius:11px;padding:18px;box-shadow:var(--tk-shadow-soft)}
@media(max-width:980px){.analytics-grid,.result-grid.rich,.rating-card{grid-template-columns:1fr}.student-result-row{align-items:flex-start;flex-direction:column}.donut-chart{width:160px;height:160px}}


/* Dropdown cloze runtime — Phase 2-B */
.dropdown-cloze-control{display:inline-flex;max-width:100%;margin:.2rem .24rem;vertical-align:middle}
.dropdown-cloze-select{max-width:100%;min-width:11rem;min-height:42px;border:1px solid var(--sk-line-strong);border-radius:9px;padding:7px 34px 7px 10px;background:var(--sk-surface);color:var(--sk-ink);font:inherit;line-height:1.45;cursor:pointer}
.dropdown-cloze-select:focus{outline:0;border-color:var(--sk-amber-deep);box-shadow:0 0 0 4px var(--sk-amber-soft)}
.dropdown-cloze-select:disabled{cursor:default;background:var(--sk-surface-2);color:var(--sk-ink-soft);opacity:1}
.dropdown-cloze-runtime-note{margin-top:14px;padding:12px 14px;border:1px solid var(--sk-amber-line);border-radius:9px;background:var(--sk-amber-soft);color:var(--sk-ink-soft);font-size:13px;line-height:1.9}
.dropdown-cloze-runtime-note.is-saved{border-color:var(--sk-line);background:var(--sk-surface-2)}
.dropdown-cloze-review{display:grid;gap:9px;margin-top:14px}
.dropdown-cloze-review__row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid var(--sk-line);border-radius:9px;background:var(--sk-surface-2)}
.dropdown-cloze-review__row span{color:var(--sk-ink-soft);font-size:12px;font-weight:650}
.dropdown-cloze-review__row strong{color:var(--sk-ink);font-size:13px;text-align:start}
.dropdown-cloze-review__row span small,.dropdown-cloze-review__row strong small,.dropdown-cloze-review__row strong em{display:block;margin-top:3px;font-size:11px;line-height:1.7;font-style:normal}
.dropdown-cloze-review__row strong em{color:var(--sk-danger)}
.dropdown-cloze-review__row.is-correct{border-color:var(--sk-ok);background:var(--sk-ok-soft)}
.dropdown-cloze-review__row.is-incorrect{border-color:var(--sk-danger)}
.dropdown-cloze-review__row.is-unanswered{border-style:dashed}
@media(max-width:560px){.dropdown-cloze-control{display:flex;width:100%;margin:.4rem 0}.dropdown-cloze-select{width:100%;min-width:0}.dropdown-cloze-review__row{align-items:flex-start;flex-direction:column;gap:5px}}

/* Phase 2-B: deferred automatic scoring status */
.status-pending_scoring{background:var(--sk-info-soft);color:var(--sk-info)}
/* Phase 3: accessible two-column matching runtime and review. */
.matching-runtime{display:grid;gap:12px;margin-top:16px}
.matching-runtime__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;color:var(--sk-ink-soft);font-size:12px;font-weight:750}
.matching-runtime__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--sk-line);border-radius:10px;background:var(--sk-surface-2)}
.matching-runtime__source{font-weight:700;line-height:1.9;color:var(--sk-ink)}
.matching-runtime__source small{display:block;color:var(--sk-ink-soft);font-size:11px;font-weight:500}
.matching-runtime__select{width:100%;min-height:42px;border:1px solid var(--sk-line-strong);border-radius:9px;padding:7px 34px 7px 10px;background:var(--sk-surface);color:var(--sk-ink);font:inherit;line-height:1.45}
.matching-runtime__select:focus{outline:0;border-color:var(--sk-amber-deep);box-shadow:0 0 0 4px var(--sk-amber-soft)}
.matching-runtime__select:disabled{cursor:default;background:var(--sk-surface-2);color:var(--sk-ink-soft);opacity:1}
.matching-review{display:grid;gap:9px;margin-top:14px}
.matching-review__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;padding:11px 13px;border:1px solid var(--sk-line);border-radius:9px;background:var(--sk-surface-2)}
.matching-review__row span{color:var(--sk-ink-soft);font-size:12px;font-weight:650}
.matching-review__row strong{color:var(--sk-ink);font-size:13px;text-align:start}
.matching-review__row span small,.matching-review__row strong small,.matching-review__row strong em{display:block;margin-top:3px;font-size:11px;line-height:1.7;font-style:normal}
.matching-review__row strong em{color:var(--sk-danger)}
/* پاسخ/تطبیق صحیح دیگر قرمز نیست (مرور تست رایگان و تمرین) */
.matching-review__row strong em.ok,.dropdown-cloze-review__row strong em.ok{color:var(--sk-ok)}
.matching-review__row.is-correct{border-color:var(--sk-ok);background:var(--sk-ok-soft)}
.matching-review__row.is-incorrect{border-color:var(--sk-danger)}
.matching-review__row.is-unanswered{border-style:dashed}
@media(max-width:680px){.matching-runtime__head{display:none}.matching-runtime__row,.matching-review__row{grid-template-columns:1fr;gap:7px}.matching-runtime__row{padding:10px}}

/* Phase 4: accessible ordering and categorization interactions */
.interactive-runtime-help{margin:0 0 12px;color:var(--sk-ink-soft,#667085);font-size:13px;line-height:1.8}
.ordering-runtime__list,.categorization-runtime__items{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ordering-runtime__item,.categorization-runtime__item{display:grid;grid-template-columns:auto auto minmax(120px,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--sk-line,#e4e7ec);border-radius:14px;background:#fff;padding:11px 12px;transition:border-color .18s,box-shadow .18s,opacity .18s}
.ordering-runtime__item[draggable=true],.categorization-runtime__item[draggable=true]{cursor:grab}.ordering-runtime__item.is-dragging,.categorization-runtime__item.is-dragging{opacity:.52;box-shadow:0 10px 28px rgba(16,24,40,.12)}
.ordering-runtime__handle,.categorization-runtime__handle{color:var(--sk-ink-faint,#98a2b3);font-weight:900}.ordering-runtime__position{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--sk-primary-soft,#eef4ff);font-weight:900}.ordering-runtime__text,.categorization-runtime__text{font-weight:750;line-height:1.75}
.ordering-runtime__actions{display:flex;gap:5px}.ordering-runtime__actions button{width:34px;height:34px;border:1px solid var(--sk-line,#e4e7ec);border-radius:9px;background:#fff;cursor:pointer}.ordering-runtime__rank,.categorization-runtime__item label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--sk-ink-soft,#667085)}.ordering-runtime select,.categorization-runtime select{min-height:38px;border:1px solid var(--sk-line,#d0d5dd);border-radius:10px;background:#fff;padding:6px 9px;color:var(--sk-ink,#101828)}
.categorization-runtime__zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.categorization-runtime__zone{min-height:74px;border:2px dashed var(--sk-line,#d0d5dd);border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(249,250,251,.8)}.categorization-runtime__zone.is-over{border-color:var(--sk-primary,#3157d5);box-shadow:0 0 0 3px rgba(49,87,213,.12)}.categorization-runtime__zone.has-items span{font-weight:900}.interactive-runtime-status{min-height:1em;margin-top:7px;font-size:12px;color:var(--sk-ink-soft,#667085)}
.ordering-review,.categorization-review{display:grid;gap:9px}.ordering-review__row,.categorization-review__row{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(120px,1fr);gap:10px;align-items:center;border:1px solid var(--sk-line,#e4e7ec);border-radius:12px;padding:10px 12px}.ordering-review__row.is-correct,.categorization-review__row.is-correct{border-color:rgba(18,183,106,.45);background:rgba(18,183,106,.05)}.ordering-review__row.is-incorrect,.categorization-review__row.is-incorrect{border-color:rgba(240,68,56,.38);background:rgba(240,68,56,.04)}.ordering-review__row small,.categorization-review__row small{display:block;color:var(--sk-ink-soft,#667085);font-weight:600;margin-top:3px}.ordering-review__row em,.categorization-review__row em{display:block;font-style:normal;color:var(--sk-danger,#d92d20);font-size:12px;margin-top:3px}
@media(max-width:720px){.ordering-runtime__item,.categorization-runtime__item{grid-template-columns:auto auto 1fr}.ordering-runtime__actions,.ordering-runtime__rank,.categorization-runtime__item label{grid-column:2/-1}.categorization-runtime__zones{grid-template-columns:1fr}.ordering-review__row,.categorization-review__row{grid-template-columns:auto 1fr}.ordering-review__row>:last-child,.categorization-review__row>:last-child{grid-column:2}}
.scenario-runtime{display:grid;gap:18px;margin-top:18px}.scenario-runtime__child{padding:18px;border:1px solid var(--sk-line);border-radius:14px;background:var(--sk-surface-2)}.scenario-runtime__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed var(--sk-line)}.scenario-runtime__head div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.scenario-runtime__head span,.scenario-runtime__head small{color:var(--sk-ink-soft);font-size:12px}.scenario-runtime__body{line-height:2;margin-bottom:12px}.scenario-runtime__text{width:100%;min-height:130px;border:1px solid var(--sk-line-strong);border-radius:10px;padding:12px;background:var(--sk-surface);color:var(--sk-ink);font:inherit}.scenario-runtime__feedback{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding:9px 11px;border-radius:9px;background:var(--sk-surface)}.scenario-runtime__feedback.status-correct{border-inline-start:3px solid var(--sk-success)}.scenario-runtime__feedback.status-incorrect{border-inline-start:3px solid var(--sk-danger)}@media(max-width:680px){.scenario-runtime__child{padding:12px}.scenario-runtime__head{align-items:flex-start;flex-direction:column}}
/* Phase 6: situational judgement (SJT) and rubric-guided descriptive questions. */
.sjt-runtime{display:grid;gap:14px;margin-top:16px}.sjt-runtime__instruction{padding:11px 13px;border:1px solid var(--sk-info-soft,#dbeafe);border-radius:12px;background:var(--sk-info-soft,#eff6ff);color:var(--sk-ink-soft,#475467);font-size:13px;line-height:1.9}.sjt-runtime__actions{display:grid;gap:10px}.sjt-runtime__action{border:1px solid var(--sk-line,#e4e7ec);border-radius:14px;background:var(--sk-surface,#fff);padding:12px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.sjt-runtime__action:hover{border-color:var(--sk-line-strong,#c7cdd8)}.sjt-runtime__action.is-selected{border-color:var(--sk-primary,#3157d5);box-shadow:0 0 0 3px rgba(49,87,213,.10)}.sjt-runtime__action.is-correct{border-color:var(--sk-ok,#12b76a);background:var(--sk-ok-soft,#ecfdf3)}.sjt-runtime__action.is-incorrect{border-color:var(--sk-danger,#d92d20)}.sjt-runtime__action>label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.sjt-runtime__action>label>input{margin-top:6px;flex:0 0 auto}.sjt-runtime__action>label>select{min-width:76px;min-height:40px;border:1px solid var(--sk-line-strong,#d0d5dd);border-radius:10px;background:var(--sk-surface,#fff);padding:6px 9px;font:inherit;color:var(--sk-ink,#101828)}.sjt-runtime__action>label>select:focus{outline:0;border-color:var(--sk-primary,#3157d5);box-shadow:0 0 0 3px rgba(49,87,213,.12)}.sjt-runtime__text{min-width:0;flex:1;font-weight:720;line-height:1.9;color:var(--sk-ink,#101828)}.sjt-runtime__feedback{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--sk-line,#e4e7ec);font-size:12px}.sjt-runtime__feedback.status-correct strong{color:var(--sk-ok,#067647)}.sjt-runtime__feedback.status-partial strong{color:var(--sk-warning,#b54708)}.sjt-runtime__feedback.status-incorrect strong{color:var(--sk-danger,#b42318)}.sjt-runtime__rationale{margin:9px 0 0;padding:10px 12px;border-radius:10px;background:var(--sk-surface-2,#f9fafb);color:var(--sk-ink-soft,#475467);font-size:12px;line-height:1.85}.sjt-competencies{display:grid;gap:8px;margin-top:14px}.sjt-competencies__row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--sk-line,#e4e7ec);border-radius:11px}.sjt-competencies__bar{height:8px;border-radius:999px;background:var(--sk-surface-2,#eaecf0);overflow:hidden}.sjt-competencies__bar i{display:block;height:100%;border-radius:inherit;background:var(--sk-primary,#3157d5)}
.rubric-guide{display:grid;gap:10px;margin:16px 0}.rubric-guide>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--sk-primary-soft,#eef4ff)}.rubric-guide>header strong{color:var(--sk-ink,#101828)}.rubric-guide>header small{color:var(--sk-ink-soft,#475467);line-height:1.7}.rubric-guide__criterion{border:1px solid var(--sk-line,#e4e7ec);border-radius:12px;background:var(--sk-surface,#fff);overflow:hidden}.rubric-guide__criterion summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-weight:800}.rubric-guide__criterion>p{margin:0;padding:0 14px 12px;color:var(--sk-ink-soft,#475467);line-height:1.85}.rubric-guide__levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:0 14px 14px}.rubric-guide__levels>div{display:grid;gap:4px;padding:10px;border:1px solid var(--sk-line,#e4e7ec);border-radius:10px;background:var(--sk-surface-2,#f9fafb)}.rubric-guide__levels span{color:var(--sk-ink-soft,#475467);font-size:12px;line-height:1.7}
.rubric-grading{display:grid;gap:14px;margin-top:14px}.rubric-grading__head,.rubric-grading__criterion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rubric-grading__head small{display:block;margin-top:4px;color:var(--sk-ink-soft,#475467)}.rubric-grading__criterion{padding:14px;border:1px solid var(--sk-line,#e4e7ec);border-radius:14px;background:var(--sk-surface-2,#f9fafb)}.rubric-grading__criterion-head p{margin:5px 0 0;color:var(--sk-ink-soft,#475467);font-size:12px;line-height:1.75}.rubric-grading__criterion-head>span{white-space:nowrap;font-weight:850;color:var(--sk-primary,#3157d5)}.rubric-grading__levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin:12px 0}.rubric-grading__level{display:block;cursor:pointer}.rubric-grading__level input{position:absolute;opacity:0;pointer-events:none}.rubric-grading__level>span{display:grid;gap:4px;height:100%;padding:11px;border:1px solid var(--sk-line,#d0d5dd);border-radius:11px;background:var(--sk-surface,#fff);transition:border-color .18s,box-shadow .18s}.rubric-grading__level input:focus-visible+span{outline:3px solid rgba(49,87,213,.18)}.rubric-grading__level input:checked+span,.rubric-grading__level.is-selected>span{border-color:var(--sk-primary,#3157d5);box-shadow:0 0 0 3px rgba(49,87,213,.10)}.rubric-grading__level b{color:var(--sk-primary,#3157d5);font-size:11px}.rubric-grading__level small{color:var(--sk-ink-soft,#475467);line-height:1.7}.rubric-grading__overall,.rubric-grading__reason{display:grid;gap:7px}.rubric-grading__reason>span b{color:var(--sk-danger,#d92d20)}.rubric-review{display:grid;gap:10px;margin-top:14px}.rubric-review__row{padding:11px 13px;border:1px solid var(--sk-line,#e4e7ec);border-radius:11px;background:var(--sk-surface-2,#f9fafb)}.rubric-review__row header{display:flex;justify-content:space-between;gap:10px}.rubric-review__row p{margin:7px 0 0;color:var(--sk-ink-soft,#475467);line-height:1.75}.rubric-review__overall{padding:11px 13px;border-inline-start:3px solid var(--sk-primary,#3157d5);background:var(--sk-primary-soft,#eef4ff);border-radius:10px}
@media(max-width:680px){.sjt-runtime__action>label{align-items:flex-start}.sjt-runtime__action>label>select{min-width:64px}.sjt-competencies__row{grid-template-columns:1fr auto}.sjt-competencies__bar{grid-column:1/-1}.rubric-guide>header,.rubric-grading__head,.rubric-grading__criterion-head{flex-direction:column}.rubric-guide__levels,.rubric-grading__levels{grid-template-columns:1fr}}


/* Package 7/7: rubric learner feedback and immutable grading history. */
.rubric-feedback{margin-top:1rem;border:1px solid var(--border,#dbe2ea);border-radius:1rem;background:var(--surface,#fff);overflow:hidden}
.rubric-feedback__head{padding:.85rem 1rem;background:color-mix(in srgb,var(--primary,#3157d5) 8%,transparent);border-bottom:1px solid var(--border,#dbe2ea)}
.rubric-feedback__criterion{padding:.9rem 1rem;border-bottom:1px solid var(--border,#e6ebf1)}
.rubric-feedback__criterion:last-of-type{border-bottom:0}
.rubric-feedback__criterion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.rubric-feedback__criterion-head>span{display:flex;align-items:center;gap:.65rem;font-weight:700;text-align:end}
.rubric-feedback__criterion-head small{font-weight:500;opacity:.72;white-space:nowrap}
.rubric-feedback__criterion p,.rubric-feedback__overall p{margin:.55rem 0 0;line-height:1.9;color:var(--text-muted,#52606d)}
.rubric-feedback__overall{padding:1rem;background:color-mix(in srgb,var(--success,#16805b) 7%,transparent);border-top:1px solid var(--border,#dbe2ea)}
.rubric-audit-history{margin-top:1rem;border:1px dashed var(--border-strong,#b7c1cc);border-radius:.9rem;padding:.75rem 1rem;background:var(--surface-muted,#f8fafc)}
.rubric-audit-history summary{cursor:pointer;font-weight:800}
.rubric-audit-history ol{margin:.8rem 1.2rem 0 0;padding:0;display:grid;gap:.75rem}
.rubric-audit-history li{padding:.75rem;border-radius:.75rem;background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0)}
.rubric-audit-history li>div{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}
.rubric-audit-history time,.rubric-audit-history small{opacity:.7}
.rubric-audit-history p{margin:.45rem 0;line-height:1.8}
@media(max-width:640px){.rubric-feedback__criterion-head{display:block}.rubric-feedback__criterion-head>span{margin-top:.45rem;justify-content:flex-start}.rubric-audit-history li>div{align-items:flex-start;flex-direction:column;gap:.25rem}}

/* ============================================================================
   EXAM QUESTION UX v1 — قواعد یکسان نمایش سؤال در آزمون/تمرین/مرور/تصحیح/تست رایگان
   ============================================================================ */
/* شمارهٔ سؤال هم‌تراز با متن؛ خط طلایی و شناور حذف */
.question-body.modern{display:flex;gap:12px;padding:0;margin:26px 24px 16px;}
.question-body.modern::before,.question-body.modern::after{display:none!important}
.question-body.modern .qno{float:none;flex-shrink:0;margin:0;font-weight:800;line-height:2.1;color:var(--sk-ink)}
.question-body.modern .qbody{flex:1;min-width:0}
/* بدنهٔ غنی استاندارد — در همهٔ بخش‌ها با کلاس exam-rich */
.exam-rich>:first-child{margin-top:0!important}
.exam-rich>:last-child{margin-bottom:0!important}
.exam-rich p{margin:0 0 10px;line-height:2.1}
.exam-rich p:empty{display:none}
.exam-rich p:has(> br:only-child){display:none}
.exam-rich img{display:block;margin:22px auto;max-width:min(100%,720px);max-height:420px;
  width:auto;height:auto;border-radius:14px;object-fit:contain;background:var(--sk-surface)}
.exam-rich p:has(> img:only-child){margin:0}
/* سربرگ ستون‌های تطبیق: در هیچ بخشی نمایش داده نشود */
.matching-runtime__head{display:none!important}
.matching-runtime__row{grid-template-columns:minmax(0,1fr) minmax(190px,260px)}
@media (max-width:640px){.matching-runtime__row{grid-template-columns:1fr}}

/* ── مرتب‌سازی: کارت‌های تمیز با حس گرفتن و کشیدن ── */
.ordering-runtime__list{display:grid;gap:9px;margin:14px 0 0;padding:0;list-style:none}
.ordering-runtime__item{display:flex;align-items:center;gap:11px;border:1.5px solid var(--sk-line);
  border-radius:13px;background:var(--sk-surface);padding:11px 13px;cursor:grab;user-select:none;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease}
.ordering-runtime__item:hover{border-color:var(--sk-ink-soft,#5a6170);box-shadow:0 8px 18px -12px rgba(16,24,40,.18);transform:translateY(-1px)}
.ordering-runtime__item:active{cursor:grabbing}
.ordering-runtime__item.is-dragging{opacity:.5;transform:none;box-shadow:none}
.ordering-runtime__handle{color:var(--sk-ink-faint);display:grid;place-items:center;cursor:inherit;font-size:13px;letter-spacing:-2px}
.ordering-runtime__item:hover .ordering-runtime__handle{color:var(--sk-ink)}
.ordering-runtime__position{width:26px;height:26px;border-radius:50%;border:1px solid var(--sk-line);
  background:var(--sk-surface-2);display:grid;place-items:center;font-size:12.5px;font-weight:800;color:var(--sk-ink-soft);flex-shrink:0}
.ordering-runtime__text{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.9;color:var(--sk-ink)}
.ordering-runtime__actions{display:flex;gap:5px}
.ordering-runtime__actions button{width:27px;height:27px;border-radius:8px;border:1px solid var(--sk-line);
  background:var(--sk-surface-2);color:var(--sk-ink-soft);cursor:pointer;font-size:12px;display:grid;place-items:center;
  transition:border-color .13s ease,color .13s ease,background .13s ease}
.ordering-runtime__actions button:hover:not(:disabled){border-color:var(--sk-ink-soft,#5a6170);color:var(--sk-ink);background:var(--sk-surface)}
.ordering-runtime__actions button:disabled{opacity:.35;cursor:default}
/* رتبه همچنان فیلد فرم است اما دیگر UI ندارد؛ درگ/جهت‌ها همان را ثبت می‌کنند */
.ordering-runtime .ordering-runtime__rank{position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:560px){
  .ordering-runtime__item{flex-wrap:wrap}
  .ordering-runtime__text{flex-basis:100%;order:5}
}

/* ── دسته‌بندی: بورد دوستونه (آیتم‌ها ← دسته‌ها) ── */
.catrt__grid{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr);gap:14px;align-items:start;margin-top:14px}
.catrt__col{min-width:0}
.catrt__colhead{font-size:11px;font-weight:800;color:var(--sk-ink-faint);margin:0 2px 7px}
.catrt__tray{border:1.5px dashed var(--sk-line-strong,#c9ced6);border-radius:14px;background:var(--sk-surface-2);
  padding:10px;display:flex;flex-direction:column;gap:8px;min-height:150px;align-content:start;transition:outline-color .15s ease}
.catrt__tray.is-over{outline:2px dashed var(--sk-ink-soft,#5a6170);outline-offset:2px}
.catrt__tray.is-empty::after{content:"همهٔ آیتم‌ها جایگذاری شدند";font-size:12px;color:var(--sk-ink-faint);text-align:center;padding:14px 6px}
.catrt__item{display:flex;align-items:center;gap:10px;border:1.5px solid var(--sk-line);border-radius:12px;
  background:var(--sk-surface);padding:10px 12px;cursor:grab;user-select:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,opacity .15s ease}
.catrt__item:hover{border-color:var(--sk-ink-soft,#5a6170);box-shadow:0 8px 18px -12px rgba(16,24,40,.18)}
.catrt__item:active{cursor:grabbing}
.catrt__item.is-dragging{opacity:.5;box-shadow:none}
.catrt__item.is-picked{border-color:var(--sk-ink);background:var(--sk-surface-2)}
.catrt__handle{color:var(--sk-ink-faint);display:grid;place-items:center;flex-shrink:0}
.catrt__item:hover .catrt__handle{color:var(--sk-ink)}
.catrt__text{flex:1;min-width:0;font-size:13.5px;font-weight:650;line-height:1.9;color:var(--sk-ink)}
.catrt__select-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.catrt__buckets{display:grid;gap:10px}
.catrt__bucket{border:1.5px solid var(--sk-line);border-radius:14px;background:var(--sk-surface);overflow:hidden;
  transition:border-color .15s ease}
.catrt__bucket.is-over{outline:2px dashed var(--sk-ink-soft,#5a6170);outline-offset:2px;border-color:var(--sk-ink-soft,#5a6170)}
.catrt__bucket-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 13px;background:var(--sk-surface-2);border-bottom:1px solid var(--sk-line)}
.catrt__bucket-head strong{font-size:13px;font-weight:800;color:var(--sk-ink);min-width:0;
  white-space:normal;overflow-wrap:anywhere;line-height:1.8}
.catrt__count{font-size:11px;font-weight:800;color:var(--sk-ink-faint);background:var(--sk-surface);
  border:1px solid var(--sk-line);border-radius:999px;padding:2px 9px;flex-shrink:0}
.catrt__bucket.has-items .catrt__count{color:var(--sk-ink);border-color:var(--sk-line-strong,#c9ced6);background:var(--sk-surface-2)}
.catrt__bucket-body{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:52px}
@media (max-width:720px){
  .catrt__grid{grid-template-columns:1fr}
  .catrt__tray{min-height:96px}
}

/* ============================================================================
   GRADING & REVIEW UX v1 — تصحیح و مرور: روبریک خوانا + ردیف‌های پاسخ ساخت‌یافته
   ============================================================================ */
.rubric-grading{display:grid;gap:14px;margin-top:14px}
.rubric-grading__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rubric-grading__title{font-size:14.5px;font-weight:800;color:var(--sk-ink)}
.rubric-grading__title span{display:block;margin-top:3px;font-size:12px;font-weight:600;color:var(--sk-ink-faint)}
.rubric-grading__criterion{border:1px solid var(--sk-line);border-radius:14px;background:var(--sk-surface);padding:14px 16px;display:grid;gap:12px}
.rubric-grading__criterion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rubric-grading__criterion-head strong{font-size:13.5px;color:var(--sk-ink)}
.rubric-grading__criterion-head p{margin:4px 0 0;font-size:12px;line-height:1.9;color:var(--sk-ink-soft)}
.rubric-grading__weight{flex-shrink:0;font-size:11px;font-weight:800;color:var(--sk-ink-soft);
  background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.rubric-grading__levels{display:grid;gap:8px}
.rubric-grading__level{display:flex;align-items:flex-start;gap:10px;border:1.5px solid var(--sk-line);
  border-radius:12px;background:var(--sk-surface);padding:10px 12px;cursor:pointer;
  transition:border-color .14s ease,background .14s ease}
.rubric-grading__level:hover{border-color:var(--sk-line-strong,#c9ced6)}
.rubric-grading__level input{margin-top:4px;flex-shrink:0;accent-color:var(--sk-ink)}
.rubric-grading__level.is-selected,.rubric-grading__level:has(input:checked){border-color:var(--sk-ink);background:var(--sk-surface-2)}
.rubric-grading__level .lvl{min-width:0;flex:1;display:grid;gap:4px}
.rubric-grading__level .lvl__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rubric-grading__level .lvl__top strong{font-size:13px;color:var(--sk-ink)}
.rubric-grading__level .lvl__pct{font-size:11px;font-weight:800;color:var(--sk-ink-soft);
  background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:999px;padding:2px 9px;white-space:nowrap}
.rubric-grading__level.is-selected .lvl__pct,.rubric-grading__level:has(input:checked) .lvl__pct{background:var(--sk-surface);border-color:var(--sk-line-strong,#c9ced6);color:var(--sk-ink)}
.rubric-grading__level small{display:block;font-size:12px;line-height:1.9;color:var(--sk-ink-soft)}
.rubric-grading__overall,.rubric-grading__reason{display:grid;gap:6px}
.rubric-grading__overall>span,.rubric-grading__reason>span{font-size:12px;font-weight:700;color:var(--sk-ink-soft)}
/* ردیف‌های پاسخ مرتب‌سازی/دسته‌بندی */
.ordering-review,.categorization-review{display:grid;gap:8px;margin-top:12px}
.ordering-review__row,.categorization-review__row{display:flex;align-items:flex-start;gap:11px;
  border:1.5px solid var(--sk-line);border-radius:12px;background:var(--sk-surface);padding:10px 13px}
.ordering-review__row .pos,.categorization-review__row .pos{width:25px;height:25px;border-radius:50%;
  border:1px solid var(--sk-line);background:var(--sk-surface-2);display:grid;place-items:center;
  font-size:12px;font-weight:800;color:var(--sk-ink-soft);flex-shrink:0}
.ordering-review__row .tx,.categorization-review__row .tx{flex:1;min-width:0;font-size:13.5px;font-weight:650;line-height:1.9;color:var(--sk-ink)}
.ordering-review__row .meta,.categorization-review__row .meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;max-width:52%}
.ordering-review__row .meta>span,.categorization-review__row .meta>span{font-size:11px;font-weight:750;
  border-radius:999px;padding:3px 10px;border:1px solid var(--sk-line);background:var(--sk-surface-2);color:var(--sk-ink-soft);white-space:nowrap}
.ordering-review__row .meta .st.is-ok,.categorization-review__row .meta .st.is-ok{color:#1f9d57;border-color:color-mix(in srgb,#1f9d57 35%,var(--sk-line));background:color-mix(in srgb,#1f9d57 8%,var(--sk-surface))}
.ordering-review__row .meta .st.is-bad,.categorization-review__row .meta .st.is-bad{color:#d24545;border-color:color-mix(in srgb,#d24545 35%,var(--sk-line));background:color-mix(in srgb,#d24545 7%,var(--sk-surface))}
.ordering-review__row.is-correct,.categorization-review__row.is-correct{border-color:color-mix(in srgb,#1f9d57 40%,var(--sk-line))}
.ordering-review__row.is-incorrect,.categorization-review__row.is-incorrect{border-color:color-mix(in srgb,#d24545 40%,var(--sk-line))}
@media (max-width:640px){
  .ordering-review__row,.categorization-review__row{flex-wrap:wrap}
  .ordering-review__row .meta,.categorization-review__row .meta{max-width:100%;justify-content:flex-start;width:100%}
}

/* ── SCENARIO & GRADING WIDGET UX — کارت فرزندها، بازخورد چیپی، گزینه‌های مستقل ── */
.scenario-runtime{gap:12px;margin-top:12px}
.scenario-runtime__child{padding:14px 16px;background:var(--sk-surface)}
.scenario-runtime__head{padding-bottom:10px;margin-bottom:12px}
.scenario-runtime__head b{font-size:14px;font-weight:800;color:var(--sk-ink)}
.scenario-runtime__head small{font-size:11px;font-weight:800;color:var(--sk-ink-soft);
  background:var(--sk-surface-2);border:1px solid var(--sk-line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.scenario-runtime__feedback{justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap;
  border:1px solid var(--sk-line);background:var(--sk-surface-2)}
.scenario-runtime__feedback strong{font-size:11px;font-weight:800;border-radius:999px;padding:3px 11px;
  border:1px solid var(--sk-line);background:var(--sk-surface);color:var(--sk-ink-soft)}
.scenario-runtime__feedback.status-correct strong{color:#1f9d57;border-color:color-mix(in srgb,#1f9d57 35%,var(--sk-line));background:color-mix(in srgb,#1f9d57 8%,var(--sk-surface))}
.scenario-runtime__feedback.status-incorrect strong{color:#d24545;border-color:color-mix(in srgb,#d24545 35%,var(--sk-line));background:color-mix(in srgb,#d24545 7%,var(--sk-surface))}
.scenario-runtime__feedback span{font-size:12px;font-weight:800;color:var(--sk-ink)}
.scenario-runtime__text{width:100%;border:1px solid var(--sk-line);border-radius:12px;padding:12px;
  background:var(--sk-surface);line-height:1.9;margin-top:12px;font-family:inherit}
.practice-explanation.modern{margin-top:12px;border:1px dashed var(--sk-line);border-radius:12px;padding:12px 14px;background:var(--sk-surface-2)}
.practice-explanation.modern h4{margin:0 0 6px;font-size:12.5px;color:var(--sk-ink)}
/* گزینه‌ها در صفحات بدون پوستهٔ آزمون (تصحیح)؛ در خود آزمون، پوستهٔ اصلی این‌ها را بازتعریف می‌کند */
.option-list.modern{display:grid;gap:8px;margin-top:12px}
.option-item.modern{display:flex;align-items:flex-start;gap:10px;border:1.5px solid var(--sk-line);
  border-radius:12px;background:var(--sk-surface);padding:10px 12px;font-size:13.5px;line-height:1.9;color:var(--sk-ink);cursor:pointer}
.option-item.modern input{margin-top:5px;accent-color:var(--sk-ink);flex-shrink:0}
.option-item.modern:has(input:checked){border-color:var(--sk-ink);background:var(--sk-surface-2)}
.option-item.modern:has(input:disabled){cursor:default}

/* تصاویر داخل گزینه‌ها — وسط، اندازهٔ قاعده‌مند، فاصلهٔ ثابت، پاراگراف‌های خالی نامرئی */
.option-item.modern span img,.skgr-opt__t img{display:block;margin:14px auto;max-width:min(100%,560px);
  max-height:320px;width:auto;height:auto;border-radius:12px;object-fit:contain}
.option-item.modern span p,.skgr-opt__t p{margin:0 0 8px}
.option-item.modern span p:empty,.skgr-opt__t p:empty,
.option-item.modern span p:has(> br:only-child),.skgr-opt__t p:has(> br:only-child){display:none}
.option-item.modern span>:first-child,.skgr-opt__t>:first-child{margin-top:0!important}
.option-item.modern span>:last-child,.skgr-opt__t>:last-child{margin-bottom:0!important}
.option-item.modern span p:has(> img:only-child),.skgr-opt__t p:has(> img:only-child){margin:0}

/* کلوز: عرض ثابت کنترل؛ لیست بازشونده آزاد است */
.question-body .dropdown-cloze-select,
select.dropdown-cloze-select{width:200px;max-width:100%;min-width:0;text-overflow:ellipsis;vertical-align:baseline}

/* محافظ جهت: هر dir=auto درونی، در زمینهٔ راست‌به‌چپ سؤال، راست‌چین می‌ماند */
.question-body[dir="rtl"] [dir="auto"],
.option-list.modern:not(.option-list--en) [dir="auto"],
.option-list.modern:not(.option-list--en) span,
.matching-runtime:not([dir="ltr"]) [dir="auto"]{direction:rtl;unicode-bidi:isolate;text-align:start}

/* تایپوگرافی یکنواخت صورت سؤال در همهٔ نوع‌ها */
.question-body.modern .qbody,
.question-body.modern .qbody :is(p, div, li){font-size:16.5px;font-weight:700;line-height:2.15;color:inherit}
.question-body.modern .qbody :is(small, sub, sup){font-weight:inherit}
/* پیام‌های سیستم در اتاق آزمون */
.exam-flash{position:fixed;top:14px;inset-inline-start:50%;transform:translateX(50%);z-index:1200;display:flex;flex-direction:column;gap:8px;width:min(92vw,420px);max-width:92vw}
[dir="ltr"] .exam-flash{transform:translateX(-50%)}
.exam-flash__item{background:#1c1e24;color:#f4f5f7;border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:12px 40px 12px 14px;font-size:13px;font-weight:650;line-height:2;box-shadow:0 14px 34px -14px rgba(0,0,0,.5);position:relative;text-align:center;overflow-wrap:anywhere;animation:exflash-in .22s ease}
.exam-flash__item--error{background:#2a1518;border-color:#7f2731;color:#ffd9dd}
.exam-flash__item--success{background:#12231a;border-color:#1f5c3a;color:#c9f2da}
.exam-flash__close{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:8px;background:rgba(255,255,255,.10);color:inherit;font:inherit;font-size:15px;line-height:1;cursor:pointer}
.exam-flash__close:hover{background:rgba(255,255,255,.2)}
.exam-flash__item.is-leaving{opacity:0;transform:translateY(-6px);transition:opacity .28s ease,transform .28s ease}
@keyframes exflash-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Matching runtime hotfix: visible progress, one-click reassignment and save state. */
.matching-runtime__row{transition:border-color .16s ease,background-color .16s ease}
.matching-runtime__row.is-answered{border-color:var(--sk-ok);background:var(--sk-ok-soft)}
.matching-runtime.is-complete .matching-runtime__row{border-color:var(--sk-ok)}
.matching-runtime__status{margin:10px 0 0;padding:10px 12px;border:1px solid var(--sk-line);border-radius:9px;background:var(--sk-surface-2);color:var(--sk-ink-soft);font-size:13px;line-height:1.8}
.matching-runtime__status[data-state="partial"],.matching-runtime__status[data-state="changed"]{border-color:var(--sk-amber-line);background:var(--sk-amber-soft);color:var(--sk-ink)}
.matching-runtime__status[data-state="complete"]{border-color:var(--sk-ok);background:var(--sk-ok-soft);color:var(--sk-ok)}
.autosave-state[data-state="saving"]::before{color:var(--sk-warn)}
.autosave-state[data-state="saved"]::before{color:var(--sk-ok)}
.autosave-state[data-state="error"]{color:var(--sk-danger)}
.autosave-state[data-state="error"]::before{color:var(--sk-danger)}
/* Per-question official timer */
.question-timer-card{border-color:rgba(245,158,11,.42)!important;background:linear-gradient(135deg,rgba(255,247,237,.98),rgba(255,251,235,.92))!important}.question-timer-card strong{color:#b45309!important}.question-timer-card small{display:block;margin-top:5px;font-size:10.5px;line-height:1.7;color:var(--sk-ink-soft,#64748b)}.question-timer-card.is-urgent{animation:tk-question-timer-pulse .9s ease-in-out infinite;border-color:#ef4444!important}.question-timer-card.is-urgent strong,.question-timer-card.is-expired strong{color:#dc2626!important}@keyframes tk-question-timer-pulse{50%{box-shadow:0 0 0 4px rgba(239,68,68,.12)}}
