.send-menu {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 2px solid #b9acd0;
  border-radius: 10px;
  background: #f7f3fc;
}

.send-menu summary {
  display: flex;
  min-height: 48px;
  padding: 13px 15px;
  align-items: center;
  justify-content: space-between;
  color: #3d2266;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.send-menu summary::-webkit-details-marker { display: none; }
.send-menu summary::after { content: "▾"; font-size: 1.2rem; }
.send-menu[open] summary::after { content: "▴"; }
.send-options { display: grid; gap: 8px; padding: 0 10px 10px; }

.send-option {
  min-height: 48px;
  padding: 12px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 0 #c8bdd8;
  color: var(--ink);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.send-option:active { transform: translateY(1px); box-shadow: 0 1px 0 #c8bdd8; }
.send-option:disabled { opacity: .45; cursor: not-allowed; }

.selected-choice {
  outline: 4px solid #78e35f;
  outline-offset: 2px;
}

.card-state {
  display: flex;
  min-height: 44px;
  padding: 9px 12px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-radius: 9px;
  font-size: .85rem;
}

.card-state.pending {
  background: #eee9f5;
  color: #5e536c;
  font-weight: 800;
}

.card-state.complete {
  background: #dff7d8;
  color: #185f0b;
}

.card-state.complete span {
  text-align: right;
  font-weight: 800;
}

.round-instruction {
  display: grid;
  gap: 5px;
  margin-bottom: 16px;
  padding: 15px 18px;
  border-radius: 12px;
  background: #fff8dc;
  color: var(--ink);
  border-left: 6px solid var(--gold);
}

.phase-guidance {
  margin: 14px auto;
  max-width: 760px;
  padding: 12px 15px;
  border-radius: 10px;
  background: #f4effa;
  color: var(--ink);
  font-weight: 750;
}

.movement-note,
.journey-box {
  padding: 10px 12px;
  border-radius: 9px;
  background: #edf5ff;
  color: #403552;
  font-size: .84rem;
  font-weight: 750;
}

.journey-box { display: grid; gap: 5px; }
.team-card { border-left: 7px solid var(--gold); }
.impostor-option { color: #8d1225; }

.round3-submit-bar,
.round-submit-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 8px;
  padding: 16px;
  border: 3px solid var(--gold);
  border-radius: 13px;
  background: #fff8dc;
}

.round3-submit-bar .btn,
.round-submit-bar .btn { min-width: 280px; }

.result-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.result-tab {
  min-height: 50px;
  padding: 10px;
  border: 2px solid #c7bdd7;
  border-radius: 9px;
  background: #f4f0f8;
  color: var(--ink);
  font-weight: 850;
  cursor: pointer;
}

.result-tab.active {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.learner-result-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 2px 4px;
}

.learner-result-heading h3 { margin: 0; }

.discussion-card {
  width: 100%;
  display: grid;
  gap: 8px;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.discussion-card:hover { background: #fff6f6; }
.discussion-card.discussed { border-left-color: var(--green); background: #effbea; }
.discussion-status { color: var(--blue); font-size: .8rem; font-weight: 900; text-transform: uppercase; }
.discussion-card.discussed .discussion-status { color: var(--green); }

.discussion-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  padding: 24px;
  place-items: center;
  background: rgba(20, 5, 40, .78);
}

.discussion-dialog {
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  display: grid;
  gap: 17px;
  padding: 26px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .4);
  color: var(--ink);
}

.discussion-top,
.discussion-actions,
.correction-path {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.discussion-top h2 { margin: 8px 0 0; }
.dialog-close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #eee8f5; color: var(--ink); font-size: 1.8rem; cursor: pointer; }
.discussion-task { margin: 0; padding: 18px; border-radius: 12px; background: #f4effa; font-size: 1.2rem; font-weight: 850; }
.chosen-answer { display: grid; gap: 4px; padding: 12px 15px; border-left: 6px solid var(--red); background: #fff0f2; }
.chosen-answer span { color: #6a5f78; font-size: .8rem; font-weight: 900; text-transform: uppercase; }
.discussion-dialog blockquote { margin: 0; padding: 14px 17px; border-left: 5px solid var(--gold); background: #fff8dc; font-weight: 800; }
.answer-hidden { padding: 20px; border: 2px dashed #a99bbd; border-radius: 12px; color: #6a5f78; text-align: center; font-weight: 850; }
.reveal-area { display: grid; gap: 13px; animation: reveal-correction .28s ease-out; }
.path-box { flex: 1; padding: 14px; border-radius: 10px; text-align: center; font-weight: 900; }
.path-box.chosen { background: #fff0f2; color: #8d1225; }
.path-box.correct-answer { background: #e4f8de; color: #176108; }
.path-arrow { font-size: 2rem; font-weight: 950; color: var(--blue); }
.explanation { margin: 0; padding: 13px 15px; border-radius: 10px; background: #edf5ff; font-weight: 750; }

.impostor-check {
  margin-top: 14px;
  padding-top: 22px;
  border-top: 2px solid #ddd4ea;
}

.impostor-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.impostor-heading h3,
.impostor-heading p { margin: 0 0 5px; }
.impostor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.impostor-card { display: grid; gap: 8px; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.impostor-card.caught { border-left: 7px solid var(--green); }
.impostor-card.missed { border-left: 7px solid var(--red); }
.impostor-card.discussed { background: #effbea; }
.impostor-status { width: fit-content; padding: 5px 9px; border-radius: 99px; background: #eee7f5; font-size: .75rem; font-weight: 950; text-transform: uppercase; }
.impostor-card.caught .impostor-status,
.impostor-status.caught { background: #dff7d8; color: #176108; }
.impostor-card.missed .impostor-status,
.impostor-status.missed { background: #ffe0e5; color: #8d1225; }

@keyframes reveal-correction {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
  .send-menu { grid-column: auto; }
  .card-state { align-items: flex-start; flex-direction: column; }
  .card-state.complete span { text-align: left; }
  .result-tabs { grid-template-columns: 1fr 1fr; }
  .learner-result-heading { align-items: flex-start; flex-direction: column; }
  .impostor-heading { flex-direction: column; }
  .impostor-grid { grid-template-columns: 1fr; }
  .discussion-overlay { padding: 10px; }
  .discussion-dialog { max-height: calc(100vh - 20px); padding: 18px; }
  .discussion-actions,
  .correction-path { align-items: stretch; flex-direction: column; }
  .discussion-actions .btn { width: 100%; }
  .path-arrow { align-self: center; transform: rotate(90deg); }
  .round3-submit-bar,
  .round-submit-bar { align-items: stretch; flex-direction: column; }
  .round3-submit-bar .btn,
  .round-submit-bar .btn { width: 100%; min-width: 0; }
}
