.heart-stage{position:relative;max-width:260px;margin:auto}.heart-portrait{display:block;width:210px;height:225px;object-fit:contain;margin:-25px auto 0}.heart-spark{position:absolute;right:20px;top:55px;font-size:32px;color:#c397a1;opacity:0}.heart-greet .heart-spark{animation:heart-welcome 2s ease both}.heart-joy .heart-spark{opacity:1;animation:heart-welcome 1.5s ease 3}.heart-rest{filter:brightness(.96)}.heart-choices{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.heart-choices button{font-size:15px;padding:10px 14px}.heart-answer{padding:20px;border-radius:22px;background:#edf0df;line-height:1.8}.heart-card{background:linear-gradient(135deg,#f8efdc,#e8e1f0);border:2px solid #d9c49a;text-align:center;padding:32px 20px}.heart-choices button:disabled{opacity:.55}@keyframes heart-welcome{0%{opacity:0;transform:translateY(15px) scale(.7)}40%,80%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-15px)}}@media(prefers-reduced-motion:reduce){.heart-spark{animation:none!important}.heart-greet .heart-spark,.heart-joy .heart-spark{opacity:1}}

.heart-joy .heart-portrait{animation:heart-hop .6s ease 3}@keyframes heart-hop{50%{transform:translateY(-6px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.heart-joy .heart-portrait{animation:none}}

/* Healing cards contain 2–3 deliberate text paragraphs, reflowing on small screens. */
.heart-healing-message p,.heart-card p{margin:0 0 .65em}.heart-healing-message p:last-child,.heart-card p:last-child{margin-bottom:0}.heart-card{font-size:clamp(18px,2.7vw,23px);max-width:720px;margin:18px auto;line-height:1.9}.healing-card-from{text-align:center;color:#687761}.healing-card-actions{justify-content:center}.healing-card-actions .button{min-height:46px}.heart-card:focus-visible{outline:3px solid #a383b3;outline-offset:4px}@media(max-width:520px){.heart-card{padding:24px 18px}.healing-card-actions{display:grid;grid-template-columns:1fr}.heart-portrait{height:190px}}

/* Keep the card title and close control reachable after replacing a long conversation. */
.healing-card-portrait .heart-portrait{width:120px;height:130px;margin:0 auto}.healing-card-from{margin:4px 0}.heart-card{line-height:1.7;margin:12px auto;padding:24px 18px}.healing-card-actions{margin-bottom:0}
