.step-card .exposition {
  margin-bottom: var(--spacing-lg);
}

.step-card .exposition .description {
  line-height: 1.7;
  margin: var(--spacing-sm) 0 var(--spacing-md);
}

.step-card .exposition .example-words {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-sm);
}

.step-card .exposition .example-word {
  background: var(--bg);
  border-radius: var(--radius-sm);
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: 0.9rem;
}

.step-card .exposition .example-word .fr {
  font-weight: 600;
}

.step-card .exposition .example-word .phonetic {
  color: var(--text-dim);
  margin-left: var(--spacing-xs);
}

.step-card .practice-item {
  border-top: 1px solid var(--border-light);
  padding: var(--spacing-md) 0;
}

.step-card .practice-item:first-of-type {
  border-top: none;
}

.step-card .practice-item .prompt {
  font-weight: 600;
  margin-bottom: var(--spacing-sm);
}

.step-card .practice-item .prompt.hint {
  font-weight: 400;
  color: var(--text-dim);
  font-size: 0.85rem;
  margin-top: 2px;
}

.step-card .practice-item .input-row {
  display: flex;
  gap: var(--spacing-sm);
}

.step-card .practice-item .input-row input {
  flex: 1;
}

.step-card .practice-item .options {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.step-card .practice-item .option-btn {
  text-align: left;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: white;
  transition: border-color 0.15s ease;
}

.step-card .practice-item .option-btn:hover {
  border-color: var(--accent);
}

.step-card .practice-item .option-btn.selected {
  border-color: var(--accent);
  background: var(--bg);
  font-weight: 600;
}

.step-card .practice-item .option-btn.correct {
  border-color: var(--green);
  background: var(--green-bg);
}

.step-card .practice-item .option-btn.incorrect {
  border-color: var(--red);
  background: var(--red-bg);
}

.step-card .practice-item .feedback {
  margin-top: var(--spacing-sm);
  font-size: 0.9rem;
}

.step-card .practice-item .feedback.correct {
  color: var(--green);
}

.step-card .practice-item .feedback.incorrect {
  color: var(--red);
}

.step-card .practice-item .feedback .canonical {
  font-family: var(--font-mono);
  font-weight: 600;
}

.step-card .practice-item .feedback .spinner {
  color: var(--text-dim);
  font-style: italic;
}

.step-card .step-footer {
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--border-light);
}

.step-card .step-footer .threshold-note {
  font-size: 0.85rem;
  color: var(--red);
  margin-bottom: var(--spacing-sm);
}
