/* «Marcar várias», «Associar» e o jogo da plataforma nas duas skins (PQ/GR 34, 36 e 38). */
.board .board-head {
  align-items: flex-start;
}
.board-pequenos .board-head {
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 16px;
}
.board-dots {
  display: flex;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.board-dot {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 3px solid var(--app-border);
  border-radius: 50%;
  font-weight: 800;
}
.board-dot.is-done {
  background: #dff3e8;
  border-color: #246c55;
}
.board-dot.is-now {
  background: var(--app-primary);
  color: #fff;
}
.board-sub {
  margin: 4px 0 0;
  font-weight: 700;
}
.board-question {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.board-question .question {
  flex: 1 1 280px;
  margin: 0;
}
.board-tools {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}
.board-rule {
  margin: 8px 0 12px;
  font-weight: 700;
}
.board-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 16px;
}
.board-bar > #help-slot:empty {
  display: none;
}
.board button {
  min-height: var(--touch-target, 56px);
  min-width: var(--touch-target, 56px);
}
.board-hint {
  margin: 6px 0 0;
  font-weight: 700;
}
/* A guia antiga (card do personagem) cede ao botão «Conversar com o guia» da linha da pergunta. */
.board .character-guide-chat {
  display: none;
}
.multiple-choice {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
}
.multiple-choice .mode-label {
  margin: 0 0 0 auto;
}
.multiple-choice.is-marked {
  border-width: 4px;
  border-color: #246c55;
  background: #eaf6ee;
}
.pair-pick {
  margin: 8px 0;
  font-weight: 800;
  text-align: center;
}
.pair-score {
  margin: 4px 0;
  font-weight: 800;
}
.board .pair-columns {
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
}
.pair-link {
  align-self: center;
  font-weight: 900;
}
.pair-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pair-item.selected {
  border-width: 4px;
  border-color: var(--app-primary);
}
.pair-item.is-matched {
  opacity: 1;
  border-color: #246c55;
  background: #dff3e8;
  color: var(--app-ink);
}
@media (max-width: 600px) {
  .board .pair-columns {
    grid-template-columns: 1fr;
  }
  .pair-link {
    transform: rotate(90deg);
  }
}
.board-pequenos .eyebrow {
  text-transform: none;
}
.board .multiple-choice:disabled,
.board .pair-columns button.pair-item:disabled {
  opacity: 1;
  color: var(--app-ink);
}
/* «Classifique» (kind sort): bandeja de itens e caixas de categoria. Alvos de pelo menos 56 px, sem rolagem lateral. */
.sort-help {
  color: var(--app-muted);
  margin: 12px 0;
}
.sort-tray,
.sort-placed {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.sort-tray {
  min-height: 72px;
  padding: 10px;
  border: 2px dashed var(--app-border);
  border-radius: 14px;
  background: var(--app-card);
  align-items: center;
}
.sort-item {
  min-height: var(--touch-target, 56px);
  min-width: var(--touch-target, 56px);
  max-width: 100%;
  padding: 10px 14px;
  font-size: 18px;
  line-height: 1.3;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: grab;
}
.sort-item[aria-pressed='true'] {
  background: var(--app-selected);
  border: 3px solid var(--app-primary);
}
.sort-item.is-right {
  border: 2px solid #2f7d4f;
  background: #e3f3e6;
}
.sort-item.is-wrong {
  border: 2px dashed #a8452c;
  background: #fbe9e3;
}
.sort-categories {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.sort-category {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  min-height: 140px;
  padding: 8px;
  border: 2px solid var(--app-border);
  border-radius: 14px;
  background: var(--app-tint);
}
.sort-category.is-target {
  border-color: var(--app-primary);
  cursor: pointer;
}
.sort-category-name {
  min-height: var(--touch-target, 56px);
  width: 100%;
  font-size: 18px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.sort-category .sort-item {
  width: 100%;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 600px) {
  .sort-item,
  .sort-category-name {
    font-size: 17px;
  }
}
