/* p07 深夜树洞 · 页面级补充样式（通用样式在 zc-core.css，主题 night） */

/* 信纸：暗色卡 + 行线 + 衬线字体，white-space: pre-line 保留信件换行 */
.p07-letter {
  background: var(--zc-card);
  background-image: repeating-linear-gradient(transparent 0, transparent calc(1.9em - 1px), var(--zc-line) calc(1.9em - 1px), var(--zc-line) 1.9em);
  line-height: 1.9em;
  font-family: "Noto Serif SC", "Songti SC", "STSong", SimSun, serif;
  font-size: 15px;
  padding: 18px 18px 8px;
  border-radius: 14px;
  border: 1px solid var(--zc-line);
  box-shadow: var(--zc-shadow);
  white-space: pre-line;
  margin: 14px 0;
}

/* 金句框 */
.p07-quotebox { border: 1.5px dashed var(--zc-primary); border-radius: 14px; padding: 12px 16px; margin: 14px 0; }
.p07-action { font-size: 13px; color: var(--zc-ink2); margin: 8px 0 0; }

/* 合规与隐私小字 */
.p07-crisis { font-size: 11px; line-height: 1.8; color: var(--zc-ink2); text-align: center; margin: 10px 0 0; }
.p07-livehint { font-size: 11px; line-height: 1.7; color: var(--zc-warn); margin: 8px 0 0; }
.p07-privacy { text-align: center; font-size: 12px; color: var(--zc-ink2); margin: 6px auto 0; max-width: 480px; padding: 0 18px; }

/* 投递动画：信纸坠入树洞 */
.p07-drop { position: relative; height: 200px; margin-bottom: 8px; }
.p07-hole {
  position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%);
  width: 160px; height: 40px; border-radius: 50%;
  background: radial-gradient(ellipse at center, #05070f 0%, #10162e 60%, transparent 72%);
  box-shadow: 0 0 24px rgba(0, 0, 0, .55), inset 0 6px 14px rgba(0, 0, 0, .8);
}
.p07-paper {
  position: absolute; left: 50%; margin-left: -21px; top: 8px;
  width: 42px; height: 56px; border-radius: 4px;
  background: linear-gradient(180deg, #f7f5ee, #e8e4d8);
  box-shadow: 0 6px 14px rgba(0, 0, 0, .35);
  animation: p07Fall 2.3s ease-in forwards;
}
.p07-paper::before {
  content: ""; position: absolute; left: 7px; right: 7px; top: 10px; height: 2px;
  background: rgba(0, 0, 0, .12);
  box-shadow: 0 8px 0 rgba(0, 0, 0, .12), 0 16px 0 rgba(0, 0, 0, .12), 0 24px 0 rgba(0, 0, 0, .12);
}
@keyframes p07Fall {
  0%   { top: 8px;   transform: rotate(-4deg); opacity: 1; }
  55%  { top: 96px;  transform: rotate(9deg); }
  78%  { top: 148px; transform: rotate(-7deg) scale(1, .92); }
  88%  { top: 156px; transform: rotate(3deg) scale(1.1, .5); opacity: .8; }
  100% { top: 160px; transform: rotate(0) scale(1, .12); opacity: 0; }
}

/* 夜空星星点缀 */
.p07-star { position: absolute; color: var(--zc-primary2); font-size: 14px; animation: p07Twinkle 1.6s ease-in-out infinite alternate; }
.p07-star.s1 { left: 18%; top: 12%; }
.p07-star.s2 { right: 20%; top: 30%; animation-delay: .5s; }
.p07-star.s3 { left: 30%; bottom: 20%; animation-delay: .9s; }
@keyframes p07Twinkle { from { opacity: .25; transform: scale(.8); } to { opacity: 1; transform: scale(1.15); } }

/* 历史信箱条目 */
.p07-history-item {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
  background: transparent; border: 0; border-bottom: 1px solid var(--zc-line);
  padding: 10px 2px; cursor: pointer; font-family: inherit; color: var(--zc-ink); font-size: 14px;
}
.p07-history-item:last-child { border-bottom: 0; }
.p07-history-mood { flex: none; font-size: 12.5px; color: var(--zc-primary); font-weight: 700; }
.p07-history-quote { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p07-history-date { flex: none; font-size: 12px; color: var(--zc-ink2); }
