[hidden] {display:none!important}

.exam-main {max-width:1280px;padding-bottom:36px}
.exam-main h1 {font-size:clamp(27px,3.4vw,43px);letter-spacing:-.04em;font-weight:700;max-width:none}
.exam-main h1>span:first-child {color:#77994e;font-weight:inherit}
.exam-main h1:focus {outline:none}
.exam-main p {line-height:1.6}
.exam-muted {color:#52675d;font-size:13px}

.exam-welcome {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.91fr);
  align-items:stretch;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fffefa;
  overflow:hidden;
}
.exam-intro {padding:clamp(22px,5vw,50px);align-self:center}
.exam-intro h1 {font-size:clamp(32px,5.5vw,64px);margin:9px 0 12px}
.exam-intro>p {max-width:410px;color:#52675d}
.exam-intro>p:last-child {margin-bottom:0}
.exam-welcome img {width:100%;height:100%;min-height:260px;display:block;object-fit:cover}
.exam-badges {display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 22px}
.exam-badges span {padding:6px 9px;border-radius:6px;background:#ecf3e3;color:#355342;font-size:12px;font-weight:650}

.exam-button {
  min-height:44px;
  padding:9px 15px;
  border:1px solid #ccd8c5;
  border-radius:9px;
  background:#fffefa;
  font-weight:650;
  line-height:1.3;
}
.exam-button:hover:not(:disabled) {background:#edf4e5}
.exam-button.primary {background:var(--ink);border-color:var(--ink);color:#fffefa}
.exam-button.primary:hover:not(:disabled) {background:#2d5844}
.exam-button:disabled {opacity:.48;cursor:default}
.exam-actions {display:flex;align-items:center;flex-wrap:wrap;gap:9px}

.exam-header,.exam-result-head {display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.exam-question-count {margin:3px 0 0;font-size:21px;font-weight:700}
.exam-progress {width:min(45%,270px);color:#52675d;font-size:13px;font-variant-numeric:tabular-nums}
.exam-progress progress {display:block;width:100%;height:8px;margin-top:6px;accent-color:#638e49}
.exam-question {display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:16px;align-items:start}
.exam-question:has(.exam-visual[hidden]) {grid-template-columns:minmax(0,760px)}
.exam-visual,.exam-prompt,.exam-navigator,.exam-result-panel {
  background:#fffefa;border:1px solid var(--line);border-radius:16px;min-width:0;
}
.exam-visual {overflow:hidden}
.exam-visual #scene-wrap {position:relative;padding:0;background:#eaf1df}
.exam-visual .order-targets {inset:0}
.exam-visual img {display:block;width:100%;height:auto}
.exam-prompt {padding:clamp(16px,2.7vw,29px)}
.exam-prompt h1 {margin:0 0 15px;line-height:1.17}
.exam-prompt .answer {min-height:48px;font-size:14px}
.exam-prompt .answer[aria-pressed=true] {border-color:#537948;background:#e7efdc}
.exam-prompt .answer[aria-pressed=true] .answer-letter {background:#3e6344;color:#fff;border-color:#3e6344}
.question-actions {justify-content:space-between;margin-top:20px}
.exam-feedback {padding:12px 14px;border-radius:9px;background:#eef3e7;color:#305143;line-height:1.6}
.exam-feedback p {margin:6px 0 0}
.exam-feedback.wrong,.exam-feedback.open {background:#f8ede4;color:#783d28}

.exam-navigator {margin-top:15px;padding:12px 16px}
.exam-navigator summary {min-height:28px;cursor:pointer;font-weight:700}
.exam-navigator p {color:#52675d;margin:2px 0 12px;font-size:13px}
#question-nav {display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.exam-number {
  min-height:38px;border-radius:7px;border:1px solid #d5dfce;
  background:#fffefa;font-weight:650;font-variant-numeric:tabular-nums;
}
.exam-number:hover {background:#f1f5e8}
.exam-number.answered,.exam-number.good {background:#e5efdb;border-color:#b3c9a5}
.exam-number.wrong {background:#f7e6db;border-color:#e1b39d}
.exam-number[aria-current=step] {outline:2px solid var(--ink);outline-offset:1px}
.finish-actions {justify-content:flex-end;margin-top:14px}

.exam-result-head h1 {margin:6px 0}
.exam-result-head p {margin:0;color:#52675d}
.exam-scores {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.exam-score {
  display:flex;flex-direction:column-reverse;gap:2px;padding:15px 17px;
  background:#fffefa;border:1px solid var(--line);border-radius:12px;
}
.exam-score dd {margin:0;font-size:36px;line-height:1.1;font-weight:750;font-variant-numeric:tabular-nums}
.exam-score dt {font-weight:600;color:#52675d}
.exam-score.good dd {color:#386348}
.exam-score.wrong dd {color:#965037}
.exam-results-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}
.exam-result-panel {padding:16px}
.exam-result-panel h2 {margin:0;font-size:21px;letter-spacing:-.02em}
.exam-result-panel>p {margin:4px 0 10px}
.exam-topics {width:100%;border-collapse:collapse;font-size:13px}
.exam-topics th,.exam-topics td {padding:9px 6px;border-bottom:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums}
.exam-topics th:first-child {text-align:left}
.exam-topics tbody th {font-weight:600}
.exam-topics a {color:inherit;text-decoration-thickness:1px;text-underline-offset:2px}
.exam-topics small {display:block;margin-top:2px;color:#52675d;font-weight:400}
.exam-filter {display:flex;align-items:center;gap:7px;min-height:36px;font-weight:600}
.exam-filter input {width:16px;height:16px;accent-color:var(--ink)}
.exam-review {list-style:none;padding:0;margin:0;max-height:430px;overflow-y:auto}
.exam-review li+li {border-top:1px solid var(--line)}
.exam-review button {
  display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;
  padding:9px 7px;min-height:44px;width:100%;background:transparent;border:0;border-radius:6px;
}
.exam-review button:hover {background:#edf4e5}
.exam-review small {display:block;color:#52675d;margin-top:2px}
.exam-review .status {white-space:nowrap;font-weight:650}
.exam-review .wrong {color:#8b4733}
.exam-review .good {color:#386348}
.history-attempts {margin-top:15px}
.history-attempts h2 {margin-bottom:8px}
.history-insights .result-list li {padding:3px 0}

#confirmation h2 {margin-top:0}
#confirmation .exam-actions {justify-content:flex-end}

@media(max-width:700px) {
  .exam-welcome,.exam-question,.exam-results-grid {grid-template-columns:1fr}
  .exam-welcome img {max-height:195px;min-height:0}
  .exam-header,.exam-result-head {gap:9px}
  .exam-header {flex-wrap:wrap}
  .exam-result-head {align-items:flex-start;flex-direction:column}
  .exam-scores {gap:6px}
  .exam-score {padding:12px 10px}
  .exam-score dd {font-size:28px}
  .exam-score dt,.exam-topics a {overflow-wrap:anywhere}
  .exam-navigator summary {min-height:44px}
  .exam-number {min-height:44px}
  #question-nav {grid-template-columns:repeat(5,minmax(0,1fr))}
}
