/* ===== MIRROR PATH ===== */
.mp-mirror-label {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fbbf24;
  margin-bottom: 8px;
}

.mp-arrows {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}

.mp-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  font-size: 1.6rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  color: #fff;
}

.mp-grid {
  display: grid;
  gap: 6px;
  max-width: 320px;
  margin: 0 auto;
}

.mp-cell {
  aspect-ratio: 1;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s, border-color 0.2s;
  user-select: none;
}

.mp-cell:hover {
  background: rgba(255,255,255,0.12);
  transform: scale(1.05);
}

.mp-cell.mp-start {
  background: rgba(139, 92, 246, 0.35);
  border-color: var(--primary);
  color: var(--primary);
  font-size: 1.4rem;
  cursor: default;
}
.mp-cell.mp-start:hover {
  transform: none;
}

.mp-cell.mp-correct {
  background: rgba(16, 185, 129, 0.4);
  border-color: var(--accent);
  animation: mpPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mp-cell.mp-wrong {
  background: rgba(244, 63, 94, 0.4);
  border-color: #f43f5e;
  animation: mpShake 0.3s;
}

@keyframes mpPop {
  0%   { transform: scale(0.85); }
  60%  { transform: scale(1.15); }
  100% { transform: scale(1); }
}

@keyframes mpShake {
  0%, 100% { transform: translateX(0); }
  25%      { transform: translateX(-6px); }
  75%      { transform: translateX(6px); }
}
