/* 旅程页顶部：她的照片日记 */
.ui-photo-diary {
  display: flex; flex-direction: column; gap: 12px; margin: 4px 0 20px; padding: 18px 16px;
  border: 1px solid #e3dccb; border-radius: 20px; background: rgba(255, 253, 246, 0.9);
}
.ui-photo-diary .ui-section-title { margin: 0; }
.ui-photo-diary__intro { margin: 0; color: #6b7568; font-size: 14px; line-height: 1.6; }
.ui-photo-diary__pick, .ui-photo-diary__create {
  align-self: flex-start; min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; cursor: pointer;
  background: linear-gradient(180deg, #3b6541, #22402a); color: #fff; font: inherit; font-size: 15px; font-weight: 600;
}
.ui-photo-diary__pick[hidden], .ui-photo-diary__composer[hidden] { display: none; }
.ui-photo-diary__create:disabled, .ui-photo-diary__cancel:disabled { opacity: 0.55; cursor: default; }
.ui-photo-diary__cancel, .ui-photo-diary__remove {
  min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: none; color: #2f5233; font: inherit; font-size: 14px; cursor: pointer;
}
.ui-photo-diary__composer { display: flex; flex-direction: column; gap: 10px; }
.ui-photo-diary__preview { width: 120px; height: 120px; object-fit: cover; border-radius: 14px; border: 1px solid #e3dccb; }
.ui-photo-diary__label { font-size: 14px; font-weight: 600; color: #1f2d22; }
.ui-photo-diary__note {
  width: 100%; box-sizing: border-box; resize: vertical; padding: 10px 12px; border: 1px solid #e3dccb; border-radius: 12px;
  background: #fffdf6; font: inherit; font-size: 15px; color: #1f2d22;
}
.ui-photo-diary__note:focus { outline: 0; border-color: #2f5233; box-shadow: 0 0 0 3px rgba(47, 82, 51, 0.12); }
.ui-photo-diary__actions { display: flex; gap: 8px; align-items: center; }
.ui-photo-diary__status { margin: 0; font-size: 14px; color: #2f5233; line-height: 1.6; }
.ui-photo-diary__status:empty { display: none; }
.ui-photo-diary__status[data-tone="error"] { color: #b3261e; }
.ui-photo-diary__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.ui-photo-diary__entry { display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: #fff; border: 1px solid #ece5d3; }
.ui-photo-diary__image { width: 100%; height: auto; max-height: 70vh; object-fit: cover; display: block; background: #f3f1e4; }
.ui-photo-diary__meta { margin: 0; font-size: 13px; color: #8a948e; }
.ui-photo-diary__entry-title { margin: 0; font-size: 18px; color: #22402a; font-family: "Songti SC", "STSong", "Noto Serif SC", serif; }
.ui-photo-diary__text { margin: 0; font-size: 15px; line-height: 1.8; color: #1f2d22; white-space: pre-wrap; }
.ui-photo-diary__sample { margin: 0; font-size: 12px; color: #a8761f; }
.ui-photo-diary__remove { align-self: flex-end; color: #8a948e; }
.ui-photo-diary__pick:focus-visible, .ui-photo-diary__create:focus-visible, .ui-photo-diary__cancel:focus-visible, .ui-photo-diary__remove:focus-visible {
  outline: 3px solid rgba(47, 82, 51, 0.35); outline-offset: 2px;
}

/* 我们的每一天：按天的时间线，每条分“你的今天 / 她的今天 / 我们留下了” */
.ui-photo-diary__day { margin: 6px 2px -4px; font-size: 14px; font-weight: 700; color: #2f5233; }
.ui-photo-diary__entry { padding: 12px; gap: 12px; }
.ui-photo-diary__part { display: grid; gap: 8px; }
.ui-photo-diary__part-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 0; font-size: 14px; color: #22402a; }
.ui-photo-diary__part-head span { font-size: 12px; color: #8a948e; }
.ui-photo-diary__part--yours .ui-photo-diary__image { border-radius: 14px; max-height: 44vh; }
.ui-photo-diary__said { margin: 0; font-size: 14px; color: #1f2d22; }
.ui-photo-diary__part--hers { grid-template-columns: 96px 1fr; align-items: start; column-gap: 12px; }
.ui-photo-diary__part--hers .ui-photo-diary__part-head { grid-column: 1 / -1; }
.ui-photo-diary__her { width: 96px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 12px; background: #f3f1e4; }
.ui-photo-diary__story { display: grid; gap: 4px; min-width: 0; }
.ui-photo-diary__reply { margin: 2px 0 0; font-size: 13px; color: #2f5233; line-height: 1.6; }
.ui-photo-diary__keepsake-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: #f6f2e3; }
.ui-photo-diary__keepsake { width: 48px; height: 48px; object-fit: contain; }
.ui-photo-diary__keepsake-text { display: grid; gap: 2px; margin: 0; font-size: 14px; color: #1f2d22; }
.ui-photo-diary__keepsake-text span { font-size: 12px; color: #8a948e; }
