/* Quiz engine - Figma "Quiz Center / Day 3 Check". */

.quiz-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sp-4);
  max-width: 900px;
  padding: var(--sp-7);
  border-radius: var(--r-4xl);
  background: var(--surface-primary);
  border: 1px solid var(--border-primary);
}

.quiz-card > .pill { align-self: flex-start; }

.quiz-card__question {
  font-size: var(--fs-24);
  font-weight: 700;
  color: var(--text-title);
  line-height: var(--lh);
}

.quiz-options {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.quiz-options legend {
  padding: 0;
}

.quiz-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  min-height: 70px;
  padding: 14px;
  border-radius: var(--r-lg);
  background: var(--surface-option);
  border: 1px solid var(--border-option);
  color: var(--text-option);
  font-size: var(--fs-13);
  font-weight: 500;
  cursor: pointer;
  transition: border-color var(--dur-fast) ease, background var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);
}

.quiz-option__input {
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: inherit;
}

.quiz-option__radio {
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: var(--r-pill);
  background: var(--surface-field);
  border: 1px solid var(--border-radio);
  display: grid;
  place-items: center;
  color: var(--on-accent);
  transition: background var(--dur-fast) ease, border-color var(--dur-fast) ease;
}

.quiz-option__radio svg { width: 12px; height: 12px; opacity: 0; }

.quiz-option__text { flex: 1; min-width: 0; }

.quiz-option__mark {
  flex: none;
  font-size: var(--fs-10);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.quiz-option:hover:not([data-locked="true"]) {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border-option));
  transform: translateX(2px);
}

.quiz-option:has(.quiz-option__input:focus-visible) {
  box-shadow: var(--focus-ring);
}

.quiz-option[data-locked="true"] { cursor: default; }

.quiz-option[data-state="correct"],
.quiz-option[data-state="selected"] {
  background: var(--option-selected-bg);
  border-color: var(--option-selected-border);
  color: var(--option-selected-text);
}

.quiz-option[data-state="correct"] .quiz-option__radio,
.quiz-option[data-state="selected"] .quiz-option__radio {
  background: var(--accent);
  border-color: var(--accent);
}

.quiz-option[data-state="correct"] .quiz-option__radio svg { opacity: 1; }
.quiz-option[data-state="correct"] .quiz-option__mark { color: var(--accent-text); }

.quiz-option[data-state="wrong"] {
  background: var(--option-wrong-bg);
  border-color: var(--option-wrong-border);
  color: var(--option-wrong-text);
}

.quiz-option[data-state="wrong"] .quiz-option__radio {
  background: var(--rose);
  border-color: var(--rose);
  color: #3b0a16;
}

.quiz-option[data-state="wrong"] .quiz-option__radio svg { opacity: 1; }
.quiz-option[data-state="wrong"] .quiz-option__mark { color: var(--rose); }

.quiz-option[data-state="reveal"] {
  border-style: dashed;
  border-color: var(--option-selected-border);
}

.quiz-option[data-state="reveal"] .quiz-option__mark { color: var(--accent-text); }

.quiz-explanation {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border-radius: var(--r-lg);
  background: var(--callout-key-bg);
  border: 1px solid var(--callout-key-border);
}

.quiz-explanation__label { font-size: var(--fs-10); font-weight: 600; color: var(--callout-key-label); letter-spacing: 0.02em; }
.quiz-explanation__text { font-size: var(--fs-12); color: var(--callout-key-text); line-height: 1.55; }

.quiz-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.quiz-progress-bar { max-width: 900px; }

/* ---- Quiz center list ----------------------------------------------------- */
.quiz-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 14px;
}

.quiz-tile {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--sp-4);
  border-radius: var(--r-2xl);
  background: var(--day-bg, var(--surface-card));
  border: 1px solid var(--border-card);
  min-height: 190px;
}

.quiz-tile__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.quiz-tile__title { font-size: var(--fs-17); font-weight: 700; color: var(--text-title); }
.quiz-tile__text { font-size: var(--fs-12); color: var(--text-muted); }
.quiz-tile__stats { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }

/* ---- Results -------------------------------------------------------------- */
.results {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  max-width: 900px;
  padding: var(--sp-7);
  border-radius: var(--r-4xl);
  background: var(--surface-primary);
  border: 1px solid var(--border-primary);
}

.results__top {
  display: flex;
  align-items: center;
  gap: var(--sp-6);
  flex-wrap: wrap;
}

.results__copy { display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 220px; }
.results__title { font-size: var(--fs-24); font-weight: 700; color: var(--text-title); }
.results__sub { font-size: var(--fs-13); color: var(--text-body); }

.review-list { display: flex; flex-direction: column; gap: 10px; }

.review-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border-radius: var(--r-lg);
  background: var(--surface-row);
  border: 1px solid var(--border-row);
}

.review-item[data-correct="true"] { border-color: var(--callout-key-border); }
.review-item[data-correct="false"] { border-color: var(--callout-danger-border); }

.review-item__q { font-size: var(--fs-13); font-weight: 600; color: var(--text-title); }
.review-item__a { font-size: var(--fs-12); color: var(--text-list); }
.review-item__a b { color: var(--text-strong); }
