.retrieval-check {
  margin: var(--section-gap) 0;
  overflow: hidden;
  border: 1px solid var(--ink-200);
  border-left: 5px solid var(--amber-700);
  border-radius: var(--radius-lg);
  background: var(--paper);
  box-shadow: var(--shadow-sm);
}

.retrieval-check__head {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: var(--space-4);
  padding: var(--space-5);
  border-bottom: 1px solid var(--ink-100);
}

.retrieval-check__head h2,
.retrieval-check--video h2 {
  margin: var(--space-2) 0;
  font: 700 var(--text-xl)/1.28 var(--font-display);
  letter-spacing: -.015em;
}

.retrieval-check__head p:last-child,
.retrieval-check--video p {
  margin: 0;
  color: var(--ink-600);
  font-size: var(--text-sm);
}

.retrieval-check__mark {
  width: 58px;
  height: 58px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  overflow: hidden;
  border-radius: 12px 4px 12px 4px;
  color: var(--paper);
  background: var(--ink-950);
  font-family: var(--font-mono);
  text-align: center;
}

.retrieval-check__mark b,
.retrieval-check__mark i {
  display: grid;
  height: 100%;
  place-items: center;
  font-style: normal;
}

.retrieval-check__mark b { font-size: 1.25rem; }
.retrieval-check__mark i { color: var(--ink-950); background: var(--amber-100); font-size: .68rem; font-weight: 700; }

.retrieval-check__options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-5);
}

.retrieval-check__options button {
  min-height: 74px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--ink-200);
  border-radius: var(--radius-md);
  color: var(--ink-900);
  background: var(--paper);
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms var(--ease), background-color 160ms var(--ease), transform 160ms var(--ease);
}

.retrieval-check__options button:not([aria-disabled="true"]):hover {
  transform: translateY(-1px);
  border-color: var(--blue-700);
  background: var(--blue-50);
}

.retrieval-check__options button > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: var(--ink-700);
  background: var(--ink-100);
  font: 700 .7rem/1 var(--font-mono);
}

.retrieval-check__options button > b { font-size: var(--text-sm); line-height: 1.35; }
.retrieval-check__options button[aria-disabled="true"] { cursor: default; }
.retrieval-check__options button.is-chosen { border-width: 2px; border-color: var(--ink-700); }
.retrieval-check__options button.is-correct { color: var(--green-800); border-color: var(--green-700); background: var(--green-50); }
.retrieval-check__options button.is-correct > span { color: var(--paper); background: var(--green-700); }
.retrieval-check__options button.is-wrong { color: var(--amber-800); border-color: var(--amber-700); background: var(--amber-50); }
.retrieval-check__options button.is-wrong > span { color: var(--paper); background: var(--amber-700); }

.retrieval-check__feedback {
  margin: 0 var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--ink-200);
  border-left: 4px solid var(--green-700);
  color: var(--ink-800);
  background: var(--green-50);
}

.retrieval-check__feedback.is-different { border-left-color: var(--amber-700); background: var(--amber-50); }
.retrieval-check__feedback p { margin: 0; }
.retrieval-check__feedback p + p { margin-top: var(--space-2); color: var(--ink-700); font-size: var(--text-sm); }
.retrieval-check__feedback:focus { outline: none; }
.retrieval-check__actions { display: flex; justify-content: flex-end; padding: var(--space-3) var(--space-5) var(--space-5); }

.retrieval-check--video {
  min-height: 112px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
  border-left-color: var(--red-700);
  background: var(--ink-50);
  box-shadow: none;
}

.retrieval-check--video .retrieval-check__mark i { color: var(--paper); background: var(--red-700); font-size: 1rem; }
.retrieval-check--video small { display: block; margin-top: var(--space-2); color: var(--ink-500); font: 600 .7rem/1.4 var(--font-mono); }

.readiness-summary {
  margin: var(--space-12) 0 0;
  overflow: hidden;
  border: 1px solid var(--ink-300);
  border-top: 6px solid var(--ink-950);
  border-radius: var(--radius-lg);
  background: var(--paper);
  box-shadow: var(--shadow-md);
}

.readiness-summary.is-ready { border-color: var(--green-700); border-top-color: var(--green-700); }

.readiness-summary__head {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-6);
  color: var(--paper);
  background: var(--ink-950);
}

.readiness-summary.is-ready .readiness-summary__head { background: var(--green-800); }

.readiness-summary__head .eyebrow { color: #bcd3f2; }
.readiness-summary.is-ready .readiness-summary__head .eyebrow { color: var(--green-100); }
.readiness-summary__head h2 { margin: var(--space-2) 0; font: 700 var(--text-2xl)/1.15 var(--font-display); letter-spacing: -.02em; }
.readiness-summary__head p:last-child { max-width: 620px; margin: 0; color: #d5e1ef; font-size: var(--text-sm); }

.readiness-summary__stamp {
  width: 68px;
  height: 68px;
  display: grid;
  grid-template-rows: 1fr 1fr;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .28);
  border-radius: 14px 4px 14px 4px;
  text-align: center;
}

.readiness-summary__stamp b,
.readiness-summary__stamp i { display: grid; place-items: center; font-family: var(--font-mono); font-style: normal; }
.readiness-summary__stamp b { font-size: .65rem; letter-spacing: .08em; }
.readiness-summary__stamp i { color: var(--ink-950); background: var(--paper); font-size: 1.1rem; font-weight: 700; }
.readiness-summary.is-ready .readiness-summary__stamp i { color: var(--green-800); background: var(--green-100); }

.readiness-summary__state {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: .45rem .7rem;
  border: 1px solid rgb(255 255 255 / .28);
  border-radius: var(--radius-pill);
  color: var(--paper);
  font: 700 .7rem/1 var(--font-mono);
  white-space: nowrap;
}

.readiness-summary__evidence {
  margin: 0;
  padding: 0;
  list-style: none;
}

.readiness-summary__evidence li {
  min-height: 76px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-6);
  border-bottom: 1px solid var(--ink-100);
}

.readiness-summary__evidence li > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink-600);
  background: var(--ink-100);
  font: 700 .7rem/1 var(--font-mono);
}

.readiness-summary__evidence li.is-done > span { color: var(--paper); background: var(--green-700); }
.readiness-summary__evidence p { margin: 0; }
.readiness-summary__evidence b, .readiness-summary__evidence small { display: block; }
.readiness-summary__evidence b { font-size: var(--text-sm); }
.readiness-summary__evidence small { margin-top: 2px; color: var(--ink-600); }
.readiness-summary__evidence button { min-height: 44px; padding: .55rem .75rem; border: 1px solid var(--ink-200); border-radius: var(--radius-md); color: var(--blue-800); background: var(--paper); cursor: pointer; font-size: var(--text-sm); font-weight: 700; }
.readiness-summary__evidence button:hover { border-color: var(--blue-700); background: var(--blue-50); }

.readiness-summary__handoff {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: var(--space-5);
  padding: var(--space-6);
  background: var(--ink-50);
}

.readiness-artifact,
.readiness-question {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--ink-200);
  border-radius: var(--radius-md);
  background: var(--paper);
}

.readiness-artifact { border-left: 4px solid var(--ink-700); }
.readiness-artifact.is-ready { border-left-color: var(--green-700); }
.readiness-artifact h3 { margin: var(--space-2) 0 var(--space-3); font: 700 var(--text-lg)/1.2 var(--font-display); }
.readiness-artifact > strong { display: block; color: var(--blue-800); overflow-wrap: anywhere; }
.readiness-artifact > p:last-child { display: -webkit-box; margin: var(--space-2) 0 0; overflow: hidden; color: var(--ink-600); font-size: var(--text-sm); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.readiness-question { display: grid; gap: var(--space-2); }
.readiness-question > span { color: var(--ink-900); font-weight: 700; }
.readiness-question > span small { color: var(--ink-500); font-weight: 400; }
.readiness-question textarea { width: 100%; min-height: 116px; resize: vertical; padding: var(--space-3); border: 1px solid var(--ink-200); border-radius: var(--radius-md); color: var(--ink-950); background: var(--paper); }
.readiness-question textarea:focus { border-color: var(--blue-700); outline: none; box-shadow: var(--shadow-focus); }
.readiness-question > small { justify-self: end; color: var(--ink-500); font: 600 .68rem/1.2 var(--font-mono); }

.readiness-summary__reinforcement {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-3) var(--space-6);
  border-top: 1px solid var(--ink-200);
  color: var(--ink-600);
  background: var(--paper);
  font-size: var(--text-xs);
}

.readiness-summary__reinforcement span { color: var(--amber-800); font-size: 1rem; }

@media (max-width: 760px) {
  .retrieval-check__head,
  .retrieval-check--video { grid-template-columns: 52px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); }
  .retrieval-check__mark { width: 48px; height: 48px; }
  .retrieval-check__options { grid-template-columns: 1fr; padding: var(--space-4); }
  .retrieval-check__options button { min-height: 58px; }
  .retrieval-check__feedback { margin: 0 var(--space-4); }
  .retrieval-check__actions { padding: var(--space-3) var(--space-4) var(--space-4); }
  .readiness-summary__head { grid-template-columns: 58px minmax(0, 1fr); gap: var(--space-4); padding: var(--space-5); }
  .readiness-summary__stamp { width: 56px; height: 56px; }
  .readiness-summary__state { grid-column: 2; width: fit-content; }
  .readiness-summary__evidence li { grid-template-columns: 32px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); }
  .readiness-summary__evidence button { grid-column: 2; justify-self: start; }
  .readiness-summary__handoff { grid-template-columns: 1fr; padding: var(--space-4); }
  .readiness-summary__reinforcement { align-items: flex-start; padding: var(--space-3) var(--space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .retrieval-check__options button { transition: none; }
}
