/* pages/promise/promise.wxss */
.promise-card {
  background: linear-gradient(135deg, #5b8def, #3d6bc4);
  border-radius: 3.2vw;
  padding: 5.3333vw;
  margin-bottom: 3.2vw;
  color: #fff;
}

.promise-header {
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}

.promise-icon {
  font-size: 8.5333vw;
  margin-right: 3.2vw;
}

.promise-title {
  font-size: 4.8vw;
  font-weight: 700;
  margin-bottom: 0.8vw;
}

.promise-date {
  font-size: 3.2vw;
  opacity: 0.8;
}

.promise-content {
  font-size: 4vw;
  line-height: 1.7;
  margin-bottom: 4.2667vw;
}

.promise-progress {
  margin-bottom: 4.2667vw;
}

.progress-text {
  display: flex;
  justify-content: space-between;
  font-size: 3.2vw;
  margin-bottom: 1.6vw;
  opacity: 0.9;
}

.progress-bar {
  height: 2.1333vw;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 1.0667vw;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: #fff;
  border-radius: 1.0667vw;
}

.join-btn {
  background: #fff;
  color: #3d6bc4;
  font-weight: 600;
}

.join-btn::after {
  border: none;
}

.edit-btn {
  margin-top: 2.1333vw;
  font-size: 3.4667vw;
}

.edit-btn::after {
  border: none;
}

.promise-desc {
  font-size: 3.4667vw;
  color: #6b7280;
  line-height: 1.8;
}
