/* v26 私聊：进入时的一张绸面名片，小动物站在中间招手。 */
.private-welcome {
  --welcome-accent: var(--steel, #a4a8b0);
  position: fixed; top: clamp(90px, 24dvh, 230px); left: 50%; z-index: 50;
  width: min(248px, calc(100vw - 48px)); padding: 22px 20px 20px;
  transform: translateX(-50%); pointer-events: none; text-align: center;
  border: 1px solid rgba(255, 255, 255, .9); border-radius: 22px;
  color: var(--ink, #33302f);
  background: linear-gradient(160deg, #fdfbfb 0%, #efe6e8 100%);
  box-shadow: 0 26px 60px rgba(110, 88, 94, .2), inset 0 1px 0 #fff;
  overflow: hidden;
}
.private-welcome--claude { --welcome-accent: var(--rosegold, #c6aba6); }
.private-welcome::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(112deg, transparent 38%, rgba(255, 255, 255, .8) 50%, transparent 62%);
  transform: translateX(-100%);
}
.private-welcome-scene { position: relative; width: 120px; height: 84px; margin: 0 auto 12px; }
.private-welcome-halo {
  position: absolute; left: 50%; top: 50%; width: 76px; height: 76px;
  margin: -38px 0 0 -38px; border-radius: 50%;
  border: 1px solid var(--welcome-accent); opacity: .55;
}
.private-welcome-halo::after {
  content: ""; position: absolute; inset: -10px; border-radius: 50%;
  border: 1px dashed rgba(135, 112, 122, .22);
}
.private-welcome-pet {
  position: absolute; left: 50%; top: 50%; width: 78px; height: 70px; margin: -38px 0 0 -39px;
}
.private-welcome-pet .critter { width: 100%; height: 100%; }
.private-welcome-keepsake, .private-welcome-envelope { display: none; }
.private-welcome > small { display: block; margin-bottom: 8px; color: var(--muted, #8f8789); font-size: 10px; letter-spacing: .32em; }
.private-welcome > strong { display: block; font: 400 20px/1.4 var(--font-serif, serif); letter-spacing: .12em; }
.private-welcome-footnote { display: block; margin-top: 10px; color: var(--faint, #bab2b3); font-size: 10px; letter-spacing: .2em; }
.private-welcome-footnote::before {
  content: ""; display: block; width: 44px; height: 1px; margin: 0 auto 10px;
  background: linear-gradient(90deg, transparent, var(--welcome-accent), transparent);
}

@media (prefers-reduced-motion: no-preference) {
  .private-welcome { animation: private-welcome-card 1.5s cubic-bezier(.2, .7, .2, 1) both; }
  .private-welcome::before { animation: private-sheen 1.1s .25s ease-out both; }
  .private-welcome-halo { animation: private-halo 1.2s .05s cubic-bezier(.2, .7, .2, 1) both; }
  .private-welcome-pet { animation: private-glyph .8s .1s cubic-bezier(.2, .7, .2, 1) both; }
  .private-page-enter .message-paper { animation: private-page-unfold .5s ease-out both; }
}
@keyframes private-welcome-card {
  0% { opacity: 0; transform: translate(-50%, 14px) scale(.94); filter: blur(4px); }
  20% { opacity: 1; transform: translate(-50%, 0) scale(1); filter: none; }
  78% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -10px) scale(.98); filter: blur(3px); }
}
@keyframes private-sheen { to { transform: translateX(100%); } }
@keyframes private-halo { from { opacity: 0; transform: scale(.6); } }
@keyframes private-glyph { from { opacity: 0; transform: scale(.7); } }
@keyframes private-page-unfold { from { opacity: .5; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) {
  .private-welcome { display: none; }
  .private-welcome, .private-welcome *, .private-page-enter .message-paper { animation: none !important; transition: none !important; }
}

.reply-limit-note {
  display: block; margin: 8px 2px 2px; padding: 6px 11px;
  border: 1px solid var(--line, rgba(92, 78, 82, .12)); border-radius: 10px;
  color: var(--muted, #8f8789); background: rgba(255, 255, 255, .45);
  font-size: 11.5px; line-height: 1.55; letter-spacing: .03em;
}