/* Messaging fragments, composed within the original media frame. */
.gummy-showcase.wave{aspect-ratio:560/300;height:auto;overflow:hidden;border-radius:8px;background:#080b14;isolation:isolate}
.gummy-stage{position:absolute;inset:0;overflow:hidden;letter-spacing:0}
.gummy-light{position:absolute;inset:0;background:radial-gradient(ellipse 28% 28% at 50% 0%,#080b14a6,transparent 100%),radial-gradient(ellipse at 0 20%,#152b6299,transparent 65%),radial-gradient(ellipse at 100% 100%,#30224588,transparent 60%),#080b14}
.gummy-stage::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}
.im-window{position:relative;margin:0 auto;width:100%;height:100%;color:#f6f6f7;font:400 16px/1.28 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}
.im-scroll{height:100%;overflow-anchor:none;scroll-behavior:auto;overflow:auto;scrollbar-width:none;overscroll-behavior:contain;mask-image:linear-gradient(to bottom,transparent,transparent 35px,#000 96px,#000 calc(100% - 12px),transparent)}.im-scroll::-webkit-scrollbar{display:none}
.im-messages{display:flex;flex-direction:column;gap:12px;padding:94px 38px 22px}
.im-contact{position:absolute;z-index:3;top:12px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.gummy-avatar{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(170deg,#f0ee60 4%,#8bc54c 96%);color:#fff;font-size:25px;font-weight:600}
.im-contact-label{display:flex;align-items:center;gap:6px;margin-top:-3px;padding:5px 10px 5px 12px;border-radius:20px;border:1px solid #ffffff24;background:linear-gradient(#ffffff28,#ffffff15);box-shadow:inset 0 1px 1px #ffffff1c,0 2px 5px #0002;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);color:#f7f7fa;font-size:13px;font-weight:600;line-height:16px}
.im-contact-label svg{width:6px;height:10px;fill:none;stroke:#ffffff60;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.im-row{display:flex;flex-direction:column;align-items:flex-start;flex:none}.im-row.outgoing{align-items:flex-end}
/* Reserve the tapback's protrusion before it arrives, so nothing shifts or collides. */
.im-row.im-has-reaction{padding-top:28px}
.im-bubble{width:fit-content;position:relative;padding:10px 14px;border-radius:20px;max-width:80%;font-size:16px;line-height:1.3;letter-spacing:0;overflow:visible;isolation:isolate}.im-bubble.blue{background:#2895fa;color:#fff}.im-bubble.gray,.im-bubble.attachment{background:#262628;color:#f2f2f4}
.im-bubble::before{content:'';position:absolute;bottom:0;width:14px;height:16px;background:inherit;z-index:-1;clip-path:path('M0 0H9C8 7 8 12 14 16C6 16 1 12 0 7Z')}.outgoing .im-bubble::before{right:-4px}.incoming .im-bubble::before{left:-4px;transform:scaleX(-1)}
.im-bubble,.im-typing{animation:gummy-message-in .58s cubic-bezier(.16,1,.3,1) both;transform-origin:bottom left}.outgoing .im-bubble{transform-origin:bottom right}
.im-file{position:relative;display:flex;gap:12px;align-items:center;min-width:0}.im-bubble.attachment{padding:14px 17px;max-width:94%;border-radius:18px}.im-file-icon{width:33px;height:42px;flex:none;filter:drop-shadow(0 1px 2px #0003)}.im-file-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.im-file-copy strong{font-size:14px;font-weight:600;white-space:nowrap}.im-file-copy>span{font-size:12px;color:#95959d;white-space:nowrap}.im-delivered{font-size:10px;color:#8c8c99;margin:5px 5px 0;font-weight:500}
.im-typing{display:flex;gap:4px;padding:12px 14px;background:#262628;border-radius:18px}.im-typing i{width:6px;height:6px;border-radius:50%;background:#96969c;animation:gummy-typing 1.1s infinite}.im-typing i:nth-child(2){animation-delay:.13s}.im-typing i:nth-child(3){animation-delay:.26s}
.im-reaction{position:absolute;top:-27px;width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;background:#262628;border:0;border-radius:50%;font-family:'Apple Color Emoji',-apple-system,sans-serif;font-size:19px;line-height:1;z-index:2;isolation:isolate;animation:gummy-reaction-in .42s cubic-bezier(.16,1,.3,1) both}
.im-reaction::before,.im-reaction::after{content:'';position:absolute;background:inherit;border-radius:50%;z-index:-1}
.im-reaction::before{width:10px;height:10px;bottom:-3px}
.im-reaction::after{width:4px;height:4px;bottom:-10px}
.reaction-left{left:-12px}.reaction-left::before{left:1px}.reaction-left::after{left:-4px}
.reaction-right{right:-11px;background:#2499ff}.im-heart{display:block;width:21px;height:21px;overflow:visible;flex:none}.reaction-right::before{right:1px}.reaction-right::after{right:-4px}
.gummy-paused .im-bubble,.gummy-paused .im-typing,.gummy-paused .im-reaction{animation-play-state:paused}.gummy-paused .im-typing i{animation-play-state:paused}
@keyframes gummy-message-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes gummy-reaction-in{from{opacity:0;transform:translateY(3px) scale(.8)}to{opacity:1;transform:none}}
@keyframes gummy-typing{0%,60%,100%{opacity:.4;transform:none}30%{opacity:1;transform:translateY(-2px)}}
@media(max-width:999px){.gummy-showcase.wave{aspect-ratio:350/210;border-radius:6px}}
@media(max-width:599px){.im-messages{padding:81px 22px 14px;gap:12px}.im-contact{top:8px}.im-contact-label{font-size:11px;line-height:14px;padding:4px 8px 4px 10px}.im-scroll{mask-image:linear-gradient(to bottom,transparent,transparent 25px,#000 80px,#000 calc(100% - 10px),transparent)}.im-row.im-has-reaction{padding-top:25px}.im-bubble{font-size:14px;max-width:92%;padding:9px 12px;border-radius:17px}.gummy-avatar{width:38px;height:38px;font-size:22px}.im-file{min-width:0;gap:10px}.im-file-copy strong{font-size:12px}.im-file-copy>span{font-size:10px}.im-file-icon{width:27px;height:35px}.im-bubble.attachment{padding:12px 14px}.im-delivered{font-size:9px}.im-reaction{width:30px;height:30px;font-size:17px;top:-24px}.im-heart{width:18px;height:18px}.im-reaction::before{width:9px;height:9px}.im-reaction::after{width:4px;height:4px;bottom:-9px}}
@media(max-width:359px){.im-messages{padding-left:19px;padding-right:19px}.im-file{min-width:0}.im-file-copy strong{font-size:11px}.im-file-copy>span{font-size:9px}.im-bubble{font-size:13px}}
@media(prefers-reduced-motion:reduce){.im-bubble,.im-typing,.im-reaction,.im-typing i{animation:none}.im-scroll{scroll-behavior:auto}}
