/* Stage 71: magical envelope and floating hearts, without modifying video sync */
#os70Modal .os70-letter-card{isolation:isolate;animation:os71Enter .42s cubic-bezier(.2,.8,.2,1) both}
#os70Modal .os71-stamp{font-size:clamp(35px,10vw,55px);padding:8px;transform-origin:center;animation:os71Envelope 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 8px #c15d8e55)}
#os70Modal.os71-unsealed .os71-stamp{animation:os71Open .6s ease-out both}
#os70Modal .os71-magic{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden}
#os70Modal .os71-magic span{position:absolute;top:-12%;font-size:clamp(17px,5vw,27px);animation:os71Fall 2.7s ease-in forwards;will-change:transform,opacity}
#os70Modal .os71-sound-option{display:inline-flex;gap:7px;align-items:center;margin-top:10px;font-size:12px;color:#704661;cursor:pointer}
#os70Modal .os71-sound-option input{width:17px;height:17px;accent-color:#c64c88}
#os70Modal .os70-paper.os70-open{animation:os71Paper .75s cubic-bezier(.16,1,.3,1) both}
@keyframes os71Enter{from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes os71Envelope{50%{transform:translateY(-7px) rotate(-3deg)}}
@keyframes os71Open{0%{transform:scale(1) rotate(0)}45%{transform:scale(1.22) rotate(-8deg)}100%{transform:scale(1.04) rotate(0)}}
@keyframes os71Paper{from{opacity:0;transform:translateY(18px) rotate(-2deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes os71Fall{0%{transform:translateY(-20px) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(115vh) rotate(240deg);opacity:0}}
@media(prefers-reduced-motion:reduce){#os70Modal .os70-letter-card,#os70Modal .os71-stamp,#os70Modal .os71-magic span,#os70Modal .os70-paper.os70-open{animation:none!important}}
