/* Companion feedback and the journal surfaces keep the original warm palette. */
.nav-pet-bubble,
.navbar.nav3 .tab-center.active .nav-pet-bubble,
.navbar.nav3 .tab-center[data-active='1'] .nav-pet-bubble {
  width: 62px;
  height: 62px;
  margin-top: -29px;
  border-radius: 13px;
  border: 2px solid #fff8ec;
  transform: none;
  box-shadow: 0 6px 16px rgba(133, 83, 47, .24);
}
.nav-pet-bubble .nav-pet-img,
.nav-pet-bubble .nav-pet-vid { border-radius: 11px; }
.nav-pet-bubble::before { border-radius: 13px; animation: none; }
.navbar.nav3 .tab-center:active .nav-pet-bubble { transform: scale(.96); }
#s-pet.free-mode .sparkle-layer { display: block !important; }
.tap-heart {
  font-size: 24px;
  line-height: 1;
  color: #e38577;
  text-shadow: 0 2px 8px rgba(255, 249, 239, .75);
  animation: petHeartRise 1.22s cubic-bezier(.18,.74,.28,1) both;
  will-change: transform, opacity;
}
@keyframes petHeartRise {
  0% { opacity: 0; transform: translate(-50%, 3px) scale(.55); }
  16% { opacity: 1; transform: translate(-50%, -12px) scale(1); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--heart-drift, 0px)), -108px) scale(.84); }
}
.pet-minimal .pet-vid { transition: opacity .22s ease-out; }

#s-diary .diary-compose { background: transparent; border-bottom: 0; padding-top: 6px; }
#s-diary .diary-compose > .label,
#s-diary .diary-history > .label { margin-bottom: 12px; font-size: 13px; color: #735640; }
#s-diary .mood-row { gap: 9px; padding-bottom: 20px; }
#s-diary .mood { min-width: 64px; padding: 9px 8px; border-radius: 8px; background: #fffdf8; border: 1px solid #e7d9c9; box-shadow: none; }
#s-diary .mood.on { background: #e9eee1; border-color: #9bb292; box-shadow: inset 0 0 0 1px #9bb292; }
#s-diary .mood.on .nm { color: #405d44; text-shadow: none; }
#s-diary .mood .ic { font-size: 20px; }
#s-diary #diary-input { min-height: 144px !important; margin: 0 20px 14px; width: calc(100% - 40px); border-radius: 8px; background: #fffdf8; line-height: 1.75; }
#s-diary .diary-history { margin: 12px 20px 30px; padding-top: 18px; border-top: 1px solid #e7d9c9; }
#s-diary .diary-history > .label { margin-left: 0; }
#s-diary .diary-item { margin: 0; padding: 19px 1px 18px; border: 0 !important; border-bottom: 1px solid #e9ddce !important; border-radius: 0; background: transparent !important; box-shadow: none !important; }
#s-diary .diary-item .dt { font: 700 12px -apple-system, 'PingFang SC', sans-serif; color: #89684e; }
#s-diary .diary-item .tag { border-radius: 5px; padding: 3px 7px; font: 700 11px -apple-system, 'PingFang SC', sans-serif; }
#s-diary .diary-item p { margin-top: 10px; color: #513e32; }
#s-diary .diary-reply { margin-top: 14px; padding: 10px 0 0; border: 0; border-top: 1px dashed #dec8b4; border-radius: 0; background: transparent; box-shadow: none; font: 13px/1.7 -apple-system, 'PingFang SC', sans-serif; color: #796656; }
#s-diary .diary-reply::before { display: none; }

#s-letter .pg-head { padding-bottom: 18px; }
#s-letter .pg-head h2 { font-size: 28px; }
#s-letter .pg-head .sub { font-size: 12px; }
#s-letter #letter-list { padding-top: 12px; }
#s-letter .letter-date { margin: 15px 21px 8px; color: #9b7860; font: 700 11px -apple-system, 'PingFang SC', sans-serif; }
#s-letter .letter { margin: 0 20px 5px; padding: 23px 20px; border: 1px solid #eadcc9 !important; border-radius: 7px; background: #fffdf8 !important; box-shadow: 0 5px 16px rgba(99, 66, 44, .07) !important; }
#s-letter .letter::before { display: none; }
#s-letter .letter .h { margin-bottom: 16px; font: 600 15px Georgia, serif; color: #79533e; }
#s-letter .letter p { font: 14px/1.8 -apple-system, 'PingFang SC', sans-serif; white-space: normal; }
#s-letter .letter .sig { margin-top: 18px; font: 12px -apple-system, 'PingFang SC', sans-serif; }
#s-letter .letter-reply-label { margin: 18px 22px 7px; font-size: 12px; font-weight: 700; color: #8d6b53; }
#s-letter .letter.reply { margin: 0 20px 25px 33px; padding: 14px 18px; border-color: #dbe6d6 !important; background: #edf2e9 !important; box-shadow: none !important; }
#s-letter .letter.reply p { color: #455748; }
#letter-editor .letter-sheet { border-radius: 19px 19px 0 0; background: #fffaf1; }
#letter-editor .letter-sheet::before { content: ''; display: block; width: 38px; height: 4px; margin: -14px auto 20px; border-radius: 3px; background: #d5bfaa; }
#letter-editor .letter-kicker { letter-spacing: 0; }
#letter-editor .text-area { min-height: min(40dvh, 300px); border-radius: 7px; background: #fffefa; }
.legal-consent-manage { flex-shrink: 0; width: 100%; min-height: 48px; border: 0; border-top: 1px solid #eadccc; background: #fff9ee; color: #79533e; font-size: 13px; font-weight: 700; }

/* Five layouts use the same user photo, not five color filters. */
#s-card .card-prev { border-radius: 7px; }
#s-card .card-prev::after { border-radius: 2px; }
#s-card .card-prev .c-bg { object-position: center 36%; }
#s-card .card-prev.tpl-b { background: #f8f4ea; color: #4b433b; }
#s-card .card-prev.tpl-b::after,
#s-card .card-prev.tpl-d::after { display: none; }
#s-card .card-prev.tpl-b .c-bg { inset: 16px 16px auto; width: calc(100% - 32px); height: 62%; }
#s-card .card-prev.tpl-b .c-mask,
#s-card .card-prev.tpl-d .c-mask { display: none; }
#s-card .card-prev.tpl-b .c-text { bottom: 0; height: 35%; justify-content: center; padding: 8px 22px 13px; gap: 2px; }
#s-card .card-prev.tpl-b h3 { color: #514538; font-size: 24px; text-shadow: none; }
#s-card .card-prev.tpl-b .dates,
#s-card .card-prev.tpl-b .msg-cn { color: #6f6253; text-shadow: none; }
#s-card .card-prev.tpl-b .msg-cn { font-size: 13px; line-height: 1.4; margin-top: 4px; }
#s-card .card-prev.tpl-b .brand,
#s-card .card-prev.tpl-d .brand { display: none; }
#s-card .card-prev.tpl-c .c-mask { background: linear-gradient(180deg, rgba(22,35,39,.69), transparent 33%, transparent 53%, rgba(19,29,31,.81)); }
#s-card .card-prev.tpl-c .c-text { inset: 0; justify-content: flex-start; align-items: flex-start; text-align: left; padding: 27px 25px 25px; }
#s-card .card-prev.tpl-c h3 { font-size: 31px; }
#s-card .card-prev.tpl-c .msg-cn { margin-top: auto; font-size: 17px; text-align: left; }
#s-card .card-prev.tpl-c .brand { align-self: flex-start; }
#s-card .card-prev.tpl-d { background: #e9eee6; color: #3d5040; }
#s-card .card-prev.tpl-d .c-bg { inset: 0 auto 0 0; width: 55%; height: 100%; object-position: center; }
#s-card .card-prev.tpl-d .c-text { inset: 0 0 0 55%; justify-content: center; padding: 14px 13px; gap: 11px; }
#s-card .card-prev.tpl-d h3 { color: #3d5040; font-size: 22px; text-shadow: none; }
#s-card .card-prev.tpl-d .dates,
#s-card .card-prev.tpl-d .msg-cn { color: #536452; text-shadow: none; }
#s-card .card-prev.tpl-d .msg-cn { font-size: 13px; line-height: 1.45; }
#s-card .card-prev.tpl-e .c-mask { background: linear-gradient(180deg, rgba(28,39,45,.37), rgba(19,32,38,.64)); }
#s-card .card-prev.tpl-e .c-text { inset: 0; justify-content: center; gap: 14px; padding: 22px 27px; }
#s-card .card-prev.tpl-e h3 { font-size: 34px; font-weight: 600; }
#s-card .card-prev.tpl-e .msg-cn { font-size: 18px; }
#s-card .card-prev.tpl-e .brand { position: absolute; bottom: 27px; }
#s-card .tpl-b { background: #f8f4ea; }
#s-card .tpl-b img { width: calc(100% - 8px); height: 65%; margin: 4px; }
#s-card .tpl-b::after { background: linear-gradient(180deg, transparent 64%, #f8f4ea 65%); }
#s-card .tpl-b span { color: #514538; }
#s-card .tpl-c::after { background: linear-gradient(180deg, rgba(22,35,39,.58), transparent 36%, rgba(19,29,31,.8)); }
#s-card .tpl-d { background: #e9eee6; }
#s-card .tpl-d img { width: 55%; }
#s-card .tpl-d::after { display: none; }
#s-card .tpl-d span { left: 55%; color: #3d5040; }
#s-card .tpl-e::after { background: rgba(19,32,38,.55); }
#s-card .tpl span { font-size: 10px; font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
  .tap-heart { animation-duration: .01ms; }
  .pet-minimal .pet-vid { transition: none; }
}
