/* ========== 首页 ========== */
.home-wrap { padding: 4px 0; }

.greet { margin-bottom: 16px; }
.greet-hello { font-size: 22px; font-weight: 700; }
.greet-date { color: var(--text-soft); font-size: 13px; margin-top: 2px; }

/* 在一起天数 banner */
.together-banner {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(135deg, #FFE4EC, #FFF0E0);
  border-radius: var(--radius-card);
  padding: 14px 16px;
  margin-bottom: 16px;
}
.together-heart { font-size: 28px; animation: heartbeat 1.5s ease-in-out infinite; }
.together-info { flex: 1; }
.together-label { font-size: 12px; color: var(--text-soft); }
.together-days { font-size: 20px; font-weight: 700; color: var(--rose); }
.partner-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 20px; box-shadow: 0 2px 8px rgba(255,107,157,0.2);
}

/* 轮播图 */
.carousel {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
}
.carousel-track {
  display: flex;
  transition: transform .5s cubic-bezier(0.16, 1, 0.3, 1);
}
.carousel-slide {
  min-width: 100%;
  padding: 28px 22px;
  color: #fff;
  min-height: 140px;
  display: flex; flex-direction: column; justify-content: center;
}
.slide-rose { background: linear-gradient(135deg, #FF6B9D 0%, #FF8E53 100%); }
.slide-lavender { background: linear-gradient(135deg, #A78BFA 0%, #60A5FA 100%); }
.slide-mint { background: linear-gradient(135deg, #34D399 0%, #6EE7B7 100%); }
.slide-emoji { font-size: 32px; margin-bottom: 8px; }
.slide-title { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.slide-desc { font-size: 13px; opacity: 0.92; }

.carousel-dots {
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 6px;
}
.cdot {
  width: 6px; height: 6px; border-radius: 3px;
  background: rgba(255,255,255,0.5);
  transition: all .3s;
}
.cdot.active { width: 18px; background: #fff; }

/* 每日问答卡片 */
.daily-card {
  background: #fff;
  border-radius: var(--radius-card);
  padding: 18px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-soft);
}
.daily-tag {
  display: inline-block;
  background: linear-gradient(135deg, #FFE4EC, #FFF0E0);
  color: var(--rose);
  font-size: 12px; font-weight: 600;
  padding: 4px 10px; border-radius: 10px;
  margin-bottom: 10px;
}
.daily-question {
  font-size: 17px; font-weight: 600; line-height: 1.5;
  margin-bottom: 8px;
}
.daily-meta { font-size: 12px; color: var(--text-soft); }

.daily-answer-wrap { margin-top: 12px; }
.daily-input {
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  background: #F7F3EF;
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.5;
}
.daily-input:focus { background: #fff; box-shadow: 0 0 0 2px rgba(255,107,157,0.3); }

.daily-status {
  text-align: center; padding: 12px;
  background: #F7F3EF; border-radius: 12px;
  color: var(--text-soft); font-size: 13px;
}

.daily-partner {
  margin-top: 12px;
  padding: 12px;
  background: linear-gradient(135deg, #FFF0F5, #F0E8FF);
  border-radius: 12px;
}
.partner-label { font-size: 12px; color: var(--lavender); font-weight: 600; margin-bottom: 6px; }
.partner-answer { font-size: 14px; line-height: 1.6; }

/* 快捷入口 */
.quick-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 4px;
}
.quick-item {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 14px 6px;
  background: #fff; border-radius: 16px;
  cursor: pointer;
  transition: transform .15s;
  box-shadow: var(--shadow-soft);
}
.quick-item:active { transform: scale(0.94); }
.quick-icon {
  width: 44px; height: 44px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.q-rose { background: #FFE4EC; }
.q-lavender { background: #E8E0FF; }
.q-mint { background: #D4F5E5; }
.q-sun { background: #FFE8D4; }
.quick-label { font-size: 11px; color: var(--text); font-weight: 500; }
