/* Same shape as the login screen (css/login.css): a capped column centered in
   whatever width is left. .screen is a row flex box, so auto side margins on
   the item absorb the free space — without them the column sat against the
   left edge with 78% of a 2560px window empty beside it. */
.exam-select, .exam-summary {
  width: 100%;
  margin: 0 auto;
  padding: 24px 28px;
}

/* Wider than the summary: this column holds six block cards, each with a
   title, a subtitle and a count, and they read better on one line apiece.
   The list is also taller than a laptop screen, and the exam screen is a
   fixed-height flex row like every other screen, so it has to scroll on its
   own instead of pushing the page. */
.exam-select {
  max-width: 45rem;
  overflow-y: auto;
}

/* Prose only, so a tighter measure than the card list above. */
.exam-summary { max-width: 35rem; }

.exam-title { margin: 0 0 10px; font-size: 1.25rem; }
.exam-intro { line-height: 1.55; color: var(--muted); margin: 0 0 18px; }

.exam-blocks { display: flex; flex-direction: column; gap: 8px; }

/* A whole card is the button: the click target is the thing being chosen,
   not a small word inside it. */
.exam-block {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 100%;
  text-align: left;
  background: var(--panel);
  color: var(--fg);
  border: 1px solid var(--line);
  border-radius: 5px;
  font: inherit;
  padding: 11px 14px;
  cursor: pointer;
}

.exam-block:hover { border-color: var(--green); }
.exam-block:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }

.exam-block-title { font-size: 0.9375rem; font-weight: 600; }
.exam-block-subtitle { font-size: 0.75rem; color: var(--muted); line-height: 1.4; }
.exam-block-count { font-size: 0.6875rem; color: var(--muted); }

.exam-blocks-sep {
  margin: 14px 0 2px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.exam-block-final { border-color: var(--green); }
.exam-block-final .exam-block-title { color: var(--green); }

/* Column wrapper inside the row-flex .screen: header on top, work area below. */
.exam-run {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.exam-head {
  display: flex;
  justify-content: space-between;
  padding: 10px 12px 0;
  font-size: 0.75rem;
  color: var(--muted);
}

.exam-block-tag { text-transform: none; }

.step-hint-btn { margin-left: 8px; font-size: 0.6875rem; padding: 2px 7px; }

.exam-summary-line { line-height: 1.6; margin: 0 0 8px; }
.exam-summary-score {
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--green);
  margin: 14px 0 18px;
}
