/* Shared feed/voucher presentation; the existing event phone, opening and result modal remain common. */
.social-event{gap:15px}.social-event .event-heading h1{font-size:28px;margin:5px 0 7px}.social-event .event-heading p{font-size:12px}
.social-phone{width:min(430px,100%);height:min(620px,calc(100dvh - 233px));min-height:380px;padding:12px 18px 9px;overflow:hidden}
.social-phone .event-camera{margin-bottom:9px}.social-phone .event-phone-header{padding-bottom:9px;font-size:12px}
.social-phone .event-card{height:clamp(80px,13dvh,118px);flex:none;min-height:0;border-radius:14px;background:#fff8ee}
.social-phone .event-card .portrait{position:absolute;right:0;top:0;width:54%;height:100%;object-position:center top;mask-image:linear-gradient(90deg,transparent,#000 20%);transition:transform 1s ease}
.social-phone .event-card::after{inset:0;background:linear-gradient(90deg,#393043c4,#39304382 35%,transparent 68%)}
.social-phone.is-success .event-card .portrait{transform:scale(1.025)}
.social-phone .event-card-copy{bottom:12px;left:15px}.social-phone .event-card-copy h2{font-size:21px;margin-bottom:4px}.social-phone .event-card-copy p{font-size:10px}
.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}.social-phone .like-button[aria-pressed="true"] .icon{fill:#ec5269;animation:social-small-heart .5s}
.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 .like-burst{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#ff5872;animation:social-like-burst 950ms ease-out both}.social-phone .like-burst .icon{width:85px;height:85px;fill:currentColor;stroke:#fff6;stroke-width:.7;filter:drop-shadow(0 7px 16px #a23f4955)}
.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 span:not(.gift-price){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-compose{margin-top:9px;padding-top:9px}.social-phone .event-choices{gap:9px}.feed-phone .event-choices{grid-template-columns:1fr}
.social-phone .event-choices button,.social-phone .event-continue{min-height:43px;padding:10px;font-size:12px;border-radius:12px}.social-phone .event-home{margin:9px auto 0}.social-phone .event-status{min-height:43px;font-size:11px}
.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 .event-message{max-width:100%}.social-phone .event-message p{font-size:12px;line-height:1.65;padding:9px 12px}.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-like-burst{0%{opacity:0;transform:scale(.35) rotate(-18deg)}24%{opacity:1;transform:scale(1.12) rotate(4deg)}42%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25) translateY(-15px)}}
@keyframes social-small-heart{40%{transform:scale(1.3)}100%{transform:scale(1)}}@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-event{gap:11px}.social-event .event-heading h1{font-size:24px;margin:4px 0 6px}.social-event .event-heading p{font-size:11px;max-width:310px}
 .social-phone{height:calc(100dvh - 252px);min-height:330px;max-height:590px;padding:10px 14px 8px;border-radius:27px}.social-phone .event-card{height:clamp(76px,11dvh,100px)}.social-phone .event-card-copy{left:13px;bottom:10px}.social-phone .event-card-copy h2{font-size:20px}.social-phone .event-card-copy p{font-size:9px}
 .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 span:not(.gift-price){font-size:9px}.social-phone .gift-price{font-size:11px}
 .social-phone .event-compose{margin-top:7px;padding-top:7px}.social-phone .event-choices button,.social-phone .event-continue{min-height:40px;font-size:11px;padding:8px}.social-phone .event-home{margin-top:7px}.social-phone .event-camera{margin-bottom:8px}.social-phone .event-phone-header{font-size:11px;padding-bottom:8px}.social-phone .event-phone-header .icon{width:16px;height:16px}
 .social-phone.is-replied .art-caption{display:none}.social-phone.is-replied .event-response{min-height:88px}.social-phone.is-replied .event-card{height:76px}.social-phone.is-waiting .event-response{min-height:60px}.social-phone .waiting{min-height:60px}.social-phone .event-status{min-height:40px}.social-phone .event-message p{font-size:11px;padding:8px 10px}.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-event{gap:8px}.social-event .event-heading h1{font-size:23px}.social-phone{min-height:310px;height:calc(100dvh - 230px);padding-top:8px}.social-phone .event-card{height:70px}.social-phone .event-camera{margin-bottom:7px}.social-phone .event-card-copy h2{font-size:18px}.social-phone .event-card-copy p{display:none}.social-phone .event-phone-header{padding-bottom:7px}.social-phone .event-workspace{padding-top:8px}.social-phone.is-replied .event-card{height:64px}.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-event .event-heading h1{font-size:22px}.social-event .event-heading p{max-width:275px;font-size:10px}.social-phone{padding-inline:11px}.social-phone .art-action{width:39px;height:39px}.social-phone .event-card{height:64px}}
@media(max-width:600px) and (max-height:650px){
 .social-phone .art-frame{min-height:80px}.social-phone.is-replied .event-card{height:56px}.social-phone.is-replied .art-frame{min-height:52px}.social-phone .event-message p{padding:7px 9px;font-size:10px}
 .voucher-phone .art-frame{grid-template-columns:86px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 25px}.voucher-phone .art-frame>img{grid-column:1;grid-row:1 / span 2}.voucher-heading{grid-column:2;grid-row:1;padding:4px 42px 4px 0}.voucher-tear{grid-column:2;grid-row:2;padding:4px 9px 4px 0;gap:8px}.voucher-heading span{font-size:6px}.voucher-heading strong{font-size:9px}.voucher-barcode{height:14px}.voucher-tear>span:last-child{font-size:6px}.voucher-tear strong{font-size:8px}.voucher-tear::before{display:none}
 .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}
}
