/* Shared feed/voucher presentation; the existing event phone, opening and result modal remain common. */
.social-phone.is-success .event-card .portrait{transform:scale(1.025)}
.social-phone .event-workspace{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:12px;gap:9px}
.social-phone .art-frame{position:relative;isolation:isolate;flex:1;min-height:100px;border-radius:15px;overflow:hidden;background:#ece4db;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.social-phone .art-frame>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s}
.social-phone .art-frame>img.is-refreshing{animation:event-arrive .4s both}
.voucher-phone .art-frame{display:grid;grid-template-rows:42px minmax(0,1fr) 41px;background:#f9efe4;border:1px solid #ddc3ba;box-shadow:0 4px 14px #6945350a}
.voucher-phone .art-frame>img{object-fit:contain;min-height:0}
.voucher-heading{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:6px 14px;pointer-events:none}
.voucher-heading span{font-size:8px;letter-spacing:.16em;font-weight:800;color:#ae7d77}.voucher-heading strong{font-size:12px;color:#77544f;font-weight:800}
.voucher-tear{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 15px;border-top:1px dashed #d3b6ab;background:#fffaf2;position:relative}
.voucher-tear::before,.voucher-tear::after{content:"";position:absolute;top:-7px;width:12px;height:12px;border:1px solid #ddc3ba;border-radius:50%;background:var(--surface)}.voucher-tear::before{left:-7px}.voucher-tear::after{right:-7px}
.voucher-barcode{width:45%;height:24px;opacity:.65;background:repeating-linear-gradient(90deg,#5e4b46 0 2px,transparent 2px 4px,#5e4b46 4px 5px,transparent 5px 8px,#5e4b46 8px 12px,transparent 12px 14px,#5e4b46 14px 15px,transparent 15px 19px);border-left:3px solid #5e4b46;border-right:3px solid #5e4b46}
.voucher-tear>span:last-child{font-size:8px;line-height:1.5;text-align:right;color:#9b8076}.voucher-tear strong{display:block;font-size:10px;color:#77544f}
.feed-phone .art-frame{cursor:pointer}
.social-phone .art-action{position:absolute;top:11px;right:11px;z-index:3;width:44px;height:44px;border-radius:50%;background:#fffffff2;color:#635568;border:1px solid #ffffffb0;display:grid;place-items:center;box-shadow:0 3px 15px #3f29321a;backdrop-filter:blur(6px)}
.social-phone .art-action .icon{width:23px;height:23px;transition:fill .2s,stroke .2s,transform .2s}.social-phone .art-action:disabled{opacity:1;cursor:default}
.social-phone .like-button[aria-pressed="true"]{color:#ec5269;animation:social-like-glow .9s ease-out}
.social-phone .like-button[aria-pressed="true"] .icon{fill:#ec5269;transform-origin:center;animation:social-small-heart .8s cubic-bezier(.2,.8,.2,1) both}
.social-phone .like-button[aria-pressed="true"]::after{content:"";position:absolute;inset:1px;border:2px solid #ec5269;border-radius:50%;pointer-events:none;opacity:0;animation:social-like-ring .8s ease-out .08s both}
.voucher-phone .refresh-button{width:36px;height:36px;top:8px;right:9px;background:#fffaf2;color:#9f7376;box-shadow:none;border-color:#dfc5bc}.voucher-phone .refresh-button .icon{width:18px;height:18px}
.social-phone .refresh-button.is-spinning .icon{animation:social-refresh-spin .4s ease-out}
.social-phone .double-tap-hint{position:absolute;bottom:10px;left:11px;display:flex;align-items:center;gap:5px;color:#fff;background:#33283266;backdrop-filter:blur(5px);border-radius:20px;padding:5px 9px;font-size:9px;pointer-events:none}.social-phone .double-tap-hint .icon{width:12px;height:12px}
.social-phone .gift-sent-stamp{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;color:#fff;background:#332b4266;backdrop-filter:blur(3px);animation:event-arrive .4s both}.social-phone .gift-sent-stamp .icon{width:19px;height:19px}
.social-phone .art-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;flex:none;padding:0 3px}.social-phone .art-caption>div{display:flex;flex-direction:column;gap:2px;min-width:0}.social-phone .art-caption strong{font-size:12px;line-height:1.5;letter-spacing:-.02em}.social-phone .art-caption>div>span{color:var(--muted);font-size:10px;line-height:1.5}.social-phone .gift-price{font-size:12px;color:var(--accent);font-weight:800;white-space:nowrap}
.social-phone .event-choices{gap:9px}.feed-phone .event-choices{grid-template-columns:1fr}
.social-phone .event-send:disabled{background:var(--surface-raised);border:1px solid var(--line);color:var(--muted);opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}
.social-phone.is-waiting .art-frame,.social-phone.is-replied .art-frame{min-height:82px}
.social-phone .event-response{flex:none;min-height:75px;padding:3px 0 0}.social-phone .waiting{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;font-size:11px;color:var(--muted)}.social-phone .waiting-dots{display:flex;gap:4px}.social-phone .waiting-dots i{width:5px;height:5px;background:var(--accent);border-radius:50%;animation:event-dot 1s infinite}.social-phone .waiting-dots i:nth-child(2){animation-delay:.16s}.social-phone .waiting-dots i:nth-child(3){animation-delay:.32s}
.social-phone .reply-copy{display:flex;flex-direction:column;gap:6px}.social-phone .reply-kicker{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--accent);font-weight:800;padding-left:2px}.social-phone .reply-kicker .icon{width:14px;height:14px}.social-phone .reaction-text{font-size:11px;line-height:1.7;text-align:center;color:var(--muted);padding:2px 0;margin:0;word-break:keep-all}
.social-phone.is-failure .reply-kicker{justify-content:center;font-size:13px;color:var(--ink);padding-top:9px}.feed-phone.is-failure .reply-copy{min-height:88px;justify-content:center}.social-phone .event-hearts{z-index:4}.social-phone .event-hearts>span{bottom:36%}
@keyframes social-small-heart{0%{transform:scale(.8) rotate(-8deg)}28%{transform:scale(1.42) rotate(5deg)}52%{transform:scale(.94) rotate(-3deg)}76%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes social-like-ring{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.36)}}
@keyframes social-like-glow{0%,100%{box-shadow:0 3px 15px #3f29321a}35%{box-shadow:0 0 0 6px #ec526920,0 0 18px #ec526958}}
@keyframes social-refresh-spin{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.social-phone .art-frame:hover>img{transform:scale(1.018)}.social-phone .art-action:not(:disabled):hover{transform:scale(1.06);background:#fff}}
@media(max-width:600px){
 .social-phone .event-workspace{padding-top:9px;gap:6px}.social-phone .art-action{width:42px;height:42px;top:9px;right:9px}.social-phone .art-action .icon{width:22px;height:22px}.social-phone .art-caption{min-height:34px}.social-phone .art-caption strong{font-size:11px}.social-phone .art-caption>div>span{font-size:9px}.social-phone .gift-price{font-size:11px}
 .social-phone.is-replied .art-caption{display:none}.social-phone.is-replied .event-response{min-height:88px}.social-phone.is-waiting .event-response{min-height:60px}.social-phone .waiting{min-height:60px}.social-phone .reaction-text{font-size:10px}.social-phone .reply-kicker{font-size:10px}
 .voucher-phone .art-frame{grid-template-rows:34px minmax(0,1fr) 33px}.voucher-heading{padding:3px 12px}.voucher-heading span{font-size:7px}.voucher-heading strong{font-size:10px}.voucher-tear{padding:4px 12px}.voucher-barcode{height:19px}.voucher-tear>span:last-child{font-size:7px}.voucher-tear strong{font-size:9px}
 .voucher-phone .refresh-button{width:32px;height:32px;top:6px;right:8px}
 .voucher-phone.is-waiting .art-frame,.voucher-phone.is-replied .art-frame{grid-template-rows:minmax(0,1fr)}.voucher-phone.is-waiting .voucher-heading,.voucher-phone.is-waiting .voucher-tear,.voucher-phone.is-replied .voucher-heading,.voucher-phone.is-replied .voucher-tear{display:none}
}
@media(max-height:740px){.social-phone .event-workspace{padding-top:8px}.social-phone.is-replied .art-frame{min-height:60px}.social-phone.is-replied .event-response{min-height:80px}.feed-phone.is-failure .reply-copy{min-height:74px}}
@media(max-width:359px){.social-phone .art-action{width:39px;height:39px}}
@media(max-width:600px) and (max-height:650px){
 .social-phone .art-frame{min-height:80px}.social-phone.is-replied .art-frame{min-height:52px}
 .voucher-phone .art-frame{grid-template-columns:minmax(96px,36%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 40px;column-gap:12px}
 .voucher-phone .art-frame>img{grid-column:1;grid-row:1;padding:8px 0 8px 12px}
 .voucher-heading{grid-column:2;grid-row:1;gap:3px;padding:8px 42px 8px 0}
 .voucher-heading span{font-size:7px}.voucher-heading strong{font-size:11px}
 .voucher-tear{grid-column:1 / -1;grid-row:2;padding:7px 12px;gap:12px}
 .voucher-barcode{height:17px}.voucher-tear>span:last-child{font-size:7px}.voucher-tear strong{font-size:9px}
 .voucher-phone.is-waiting .art-frame,.voucher-phone.is-replied .art-frame{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.voucher-phone.is-waiting .art-frame>img,.voucher-phone.is-replied .art-frame>img{grid-row:1;padding:0}
}
