/* The receipt is a distinct paper interaction, separate from the light ritual. */
.response{overflow:visible}.response.letter-sealed{padding:0;min-height:300px;animation:receipt-arrival 1.2s cubic-bezier(.2,.8,.2,1) both}.letter-cover{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:36px 20px 22px;isolation:isolate}.fold-line{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(155deg,transparent 49.7%,var(--line) 50%,transparent 50.3%),linear-gradient(205deg,transparent 49.7%,var(--line) 50%,transparent 50.3%);opacity:.8}.letter-cover p{font-size:16px;line-height:1.7;color:var(--ink);margin:0 0 24px;max-width:290px}.letter-hint{font-size:14px;color:var(--muted);margin-top:18px}.wax-seal{width:68px;height:68px;border-radius:50%;border:1px solid #bfa0c6;background:radial-gradient(circle at 30% 20%,#ebccdd,#b399c6);color:#fff8ed;box-shadow:inset 0 0 0 5px #ffffff28,inset 0 0 0 6px #a788ac44,0 5px 12px #6f4a7120;font-size:33px;animation:seal-breathe 3s ease-in-out infinite!important;transition:transform .25s}.wax-seal:hover{transform:translateY(-3px)}.wax-seal:active{transform:scale(.94)}#skipLetter{font-size:13px;margin-top:6px}.letter-opening .wax-seal{animation:seal-unfasten .8s ease both!important}.letter-opening .fold-line{animation:fold-away 1.05s ease both}.letter-opening .letter-hint,.letter-opening .letter-cover p{opacity:0;transition:opacity .35s}.letter-open #letterInside{animation:paper-reveal .8s ease both}.letter-open #wishEcho{animation:letter-detail .7s .1s both}.letter-open .blessing{animation:letter-detail .8s .3s both}.letter-open .letter-belief{animation:letter-detail .8s .5s both}.letter-open .stamp-options{animation:letter-detail .7s .7s both}.letter-belief{font-size:15px;line-height:1.8;color:var(--muted);margin:0 auto 18px;max-width:34ch}.response .blessing{margin:18px 0 12px}.stamp-options{display:flex;justify-content:center;gap:14px;margin:15px 0 8px}.stamp-options button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);color:var(--primary);font-size:27px;background:var(--surface);transition:transform .3s,background .3s}.stamp-options button:hover{transform:translateY(-4px) rotate(-7deg)}.stamp-options button[aria-pressed=true]{background:#b296c32e;border-color:var(--primary);transform:rotate(-7deg)}.stamp-message{font-size:13px;line-height:1.7;color:var(--muted);min-height:2em;margin:8px 0}.response #actionToggle{display:block;font-size:14px;margin:8px auto 14px}#actionField{text-align:start;margin:0 0 20px;animation:letter-detail .4s ease}#actionField label{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}#wishAction{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-sizing:border-box}#wishAction:focus{outline:2px solid var(--primary);outline-offset:3px}.response-mark{display:block;font-size:35px;line-height:1.3;color:var(--primary)}.archive-stamp{float:inline-end;color:var(--primary);font-size:30px;transform:rotate(-6deg)}.archive-step{font-size:14px!important;border-inline-start:2px solid var(--line);padding-inline-start:12px;color:var(--muted)}.wish-card:has(.wish-actions .active:first-child) .archive-stamp:after{content:'❀';display:inline-block;font-size:18px;animation:flower-grow 1.2s ease both}.wish-card:has(.wish-actions .active:nth-child(2)){opacity:.72}.storing .response{transform-origin:center;pointer-events:none}
@keyframes receipt-arrival{0%{opacity:0;transform:translateY(-16px) scale(.92)}50%{opacity:1}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes seal-breathe{0%,100%{box-shadow:inset 0 0 0 5px #ffffff28,0 5px 12px #6f4a7120}50%{box-shadow:inset 0 0 0 5px #ffffff48,0 5px 25px #b898c34a}}@keyframes seal-unfasten{30%{transform:rotate(-12deg) scale(1.06);opacity:1}100%{transform:translateY(20px) rotate(20deg) scale(.7);opacity:0}}@keyframes fold-away{to{opacity:0;transform:translateY(-25px) scaleY(.5)}}@keyframes paper-reveal{from{opacity:0;transform:translateY(12px) scaleY(.9)}to{opacity:1;transform:none}}@keyframes flower-grow{from{opacity:0;transform:scale(0) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:650px){.letter-open{padding:22px 18px}.letter-open .blessing{font-size:22px}.letter-belief{font-size:14px}.letter-cover{min-height:280px}.response.letter-sealed{min-height:280px}}
@media(prefers-reduced-motion:reduce){.response,.response *, .archive-stamp:after{animation:none!important;transition:none!important}.letter-open #letterInside,.letter-open #wishEcho,.letter-open .blessing,.letter-open .letter-belief,.letter-open .stamp-options{opacity:1;transform:none}}
