.chat-scope{--canvas:#0e0f13;--surface-1:#15161b;--surface-2:#1c1d23;--surface-3:#0a0b0e;--surface-card:#15161b;--surface:#15161b;--surface-elevated:#1c1d23;--surface-deep:#0a0b0e;--surface-dark:#15161b;--surface-light:#20222a;--ink:#f3f4f7;--ink-2:#fafbfc;--ink-3:#ffffff;--text-primary:#f3f4f7;--text-body:rgba(243,244,247,0.86);--body:rgba(243,244,247,0.86);--charcoal:rgba(243,244,247,0.74);--text-secondary:rgba(243,244,247,0.72);--mute:#aab0bb;--ash:#9298a3;--stone:#767c87;--accent:#6366f1;--accent-on:#ffffff;--accent-subtle:rgba(99,102,241,0.22);--hairline:rgba(255,255,255,0.09);--hairline-medium:rgba(255,255,255,0.13);--hairline-strong:rgba(255,255,255,0.16);--divider-soft:rgba(255,255,255,0.06);--border-1:rgba(255,255,255,0.09);--border-2:rgba(255,255,255,0.16);color-scheme:dark;background:var(--canvas);color:var(--ink)}:root{--chat-out-bg:#6366f1;--chat-out-ink:#ffffff;--chat-tick-read:#7ad9ff;--chat-bubble-shadow:0 1px 2px rgba(0,0,0,0.22)}.chat-typing-dots{display:inline-flex;align-items:center;gap:3px;margin-left:5px;vertical-align:middle}.chat-typing-dots span{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.4;animation:chat-typing-bounce 1.3s var(--ease-in-out-sine,ease-in-out) infinite}.chat-typing-dots span:nth-child(2){animation-delay:.18s}.chat-typing-dots span:nth-child(3){animation-delay:.36s}@keyframes chat-typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.chat-reaction-chip{transition:transform var(--motion-fast,.18s) var(--ease-out,ease-out),background var(--motion-fast,.18s) var(--ease-out,ease-out),border-color var(--motion-fast,.18s) var(--ease-out,ease-out);animation:chat-chip-pop var(--motion-base,.26s) var(--ease-out,ease-out) both;will-change:transform}.chat-reaction-chip:hover{transform:scale(1.06)}@keyframes chat-chip-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.chat-msg-actions{transition:opacity var(--motion-base,.26s) var(--ease-out,ease-out),transform var(--motion-base,.26s) var(--ease-out,ease-out)}@media (hover:hover){.chat-msg-row .chat-msg-actions{opacity:0;transform:translateY(3px);pointer-events:none}.chat-msg-row:focus-within .chat-msg-actions,.chat-msg-row:hover .chat-msg-actions{opacity:1;transform:translateY(0);pointer-events:auto}}.chat-pinned-banner{animation:chat-slide-down var(--motion-base,.26s) var(--ease-out,ease-out) both}@keyframes chat-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.chat-popover{animation:chat-popover-in var(--motion-fast,.18s) var(--ease-out,ease-out) both;transform-origin:bottom center}@keyframes chat-popover-in{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-online-dot{animation:chat-online-breathe var(--motion-cycle-fast,2.4s) var(--ease-in-out-sine,ease-in-out) infinite}@keyframes chat-online-breathe{0%,to{box-shadow:0 0 0 0 var(--accent-green-glow,rgba(34,255,153,.18))}50%{box-shadow:0 0 0 3px transparent}}.chat-ticks{transition:color .25s var(--ease-out,ease-out)}.chat-ticks[data-status=read]{color:var(--chat-tick-read,#7ad9ff);opacity:1}.chat-tick-second{opacity:1;transform:scale(1);transform-origin:60% 50%;transition:opacity .18s var(--ease-out,ease-out),transform .22s cubic-bezier(.34,1.56,.64,1)}.chat-ticks[data-status=sent] .chat-tick-second{opacity:0;transform:scale(.3)}.chat-msg-flash{animation:chat-msg-flash 1.6s var(--ease-out,ease-out) both;border-radius:12px}@keyframes chat-msg-flash{0%{background:transparent}18%{background:var(--accent-subtle,rgba(99,102,241,.22))}to{background:transparent}}.chat-unread-divider{display:flex;align-items:center;gap:10px;margin:10px 0;padding:0 14px;animation:chat-slide-down var(--motion-base,.26s) var(--ease-out,ease-out) both}.chat-unread-divider:after,.chat-unread-divider:before{content:"";flex:1 1;height:1px;background:var(--hairline-medium,rgba(252,253,255,.14))}.chat-unread-divider span{font-size:11px;color:var(--accent,#6366f1);font-weight:600;white-space:nowrap}.chat-msg-enter{animation:chat-msg-in var(--motion-base,.26s) cubic-bezier(.21,1.02,.55,1.01) both;transform-origin:50% 100%}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-swipe-row{will-change:transform}.chat-swipe-row[data-released=true]{transition:transform .22s var(--ease-out,ease-out)}.chat-swipe-reply-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%) scale(.6);width:28px;height:28px;border-radius:50%;background:var(--accent-subtle,rgba(99,102,241,.25));color:var(--accent,#6366f1);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease-out,transform .12s ease-out;pointer-events:none}.chat-swipe-reply-icon[data-armed=true]{opacity:1;transform:translateY(-50%) scale(1);background:var(--accent,#6366f1);color:#fff}.chat-send-morph{animation:chat-btn-morph .2s cubic-bezier(.34,1.56,.64,1) both}@keyframes chat-btn-morph{0%{opacity:0;transform:scale(.45) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.chat-reaction-burst{position:absolute;bottom:100%;pointer-events:none;z-index:30;font-size:22px;line-height:1;animation:chat-burst-up .8s var(--ease-out,ease-out) forwards}@keyframes chat-burst-up{0%{opacity:0;transform:translateY(6px) scale(.5)}25%{opacity:1;transform:translateY(-10px) scale(1.35)}to{opacity:0;transform:translateY(-44px) scale(1)}}.chat-reaction-burst i{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:var(--accent,#6366f1);animation:chat-burst-spark .7s var(--ease-out,ease-out) forwards}.chat-reaction-burst i:first-child{--sx:-18px;--sy:-22px;animation-delay:.05s}.chat-reaction-burst i:nth-child(2){--sx:16px;--sy:-26px;background:#f59e0b;animation-delay:.1s}.chat-reaction-burst i:nth-child(3){--sx:2px;--sy:-34px;background:#ec4899;animation-delay:.15s}@keyframes chat-burst-spark{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--sx,0),var(--sy,-24px)) scale(.4)}}.chat-live-wave{flex:1 1;min-width:0;height:24px;display:flex;align-items:center;gap:2px;overflow:hidden}.chat-live-wave span{flex:1 1;min-height:3px;max-width:4px;border-radius:2px;background:var(--accent,#6366f1);transition:height .1s linear}.chat-rec-dot{animation:chat-rec-pulse 1.1s var(--ease-in-out-sine,ease-in-out) infinite}@keyframes chat-rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.chat-drop-overlay{position:absolute;inset:8px;z-index:50;display:flex;align-items:center;justify-content:center;border:2px dashed var(--accent,#6366f1);border-radius:14px;background:rgba(99,102,241,.12);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;animation:chat-popover-in var(--motion-fast,.18s) var(--ease-out,ease-out) both}.chat-drop-overlay span{font-size:14px;font-weight:600;color:var(--ink,#fcfdff);background:var(--surface-elevated,#1a1a1a);border:1px solid var(--hairline-medium);border-radius:10px;padding:10px 18px}@media (prefers-reduced-motion:reduce){.chat-drop-overlay,.chat-msg-enter,.chat-msg-flash,.chat-online-dot,.chat-pinned-banner,.chat-popover,.chat-reaction-burst,.chat-reaction-burst i,.chat-reaction-chip,.chat-rec-dot,.chat-send-morph,.chat-typing-dots span,.chat-unread-divider{animation:none!important}.chat-swipe-reply-icon,.chat-swipe-row{transition:none!important}.chat-reaction-burst{display:none!important}.chat-live-wave span{transition:none!important}.chat-msg-flash{background:var(--accent-subtle,rgba(99,102,241,.22))!important}.chat-msg-actions,.chat-reaction-chip,.chat-tick-second,.chat-ticks{transition:none!important}.chat-reaction-chip:hover{transform:none!important}@media (hover:hover){.chat-msg-row .chat-msg-actions{transform:none!important}}}.call-avatar,.call-avatar-wrap{position:relative;width:132px;height:132px}.call-avatar{z-index:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:50px;font-weight:700;color:#fff;box-shadow:0 10px 44px rgba(0,0,0,.45)}.call-pulse{position:absolute;inset:0;border-radius:50%;background:rgba(255,255,255,.16);animation:call-pulse 2.2s ease-out infinite;pointer-events:none}@keyframes call-pulse{0%{transform:scale(1);opacity:.5}80%{opacity:0}to{transform:scale(2.4);opacity:0}}.call-bg{position:absolute;inset:0;background:linear-gradient(155deg,#14151f,#241d44 35%,#14233f 65%,#14151f);background-size:300% 300%;animation:call-bg-shift 16s ease infinite}@keyframes call-bg-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.call-bg,.call-pulse{animation:none}}