@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap";:root{--blue:#0d6efd;--blue-light:#3b8fff;--blue-dim:#0d6efd1f;--mint:#00d4aa;--danger:#ff5a5f;--amber:#ffab00;--bg:#f0f4ff;--surface:#fff;--surface-el:#f7f9ff;--border:#00000012;--ink:#0a0f1e;--ink-soft:#5b6a83;--ink-faint:#9daec4;--bg-dark:#090e1a;--surface-dark:#121929;--surface-el-dark:#1a2438;--border-dark:#ffffff12;--ink-dark:#eef2ff;--ink-soft-dark:#7c93b8;--ink-faint-dark:#3d5075;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #0000001a, 0 1px 4px #0000000f;--shadow-lg:0 12px 40px #00000024, 0 4px 12px #00000014;--shadow-blue:0 4px 20px #0d6efd4d;--bubble-me:linear-gradient(135deg, #0d6efd 0%, #1a83ff 100%);--bubble-them:#fff;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--font-display:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;margin:0;padding:0}html{height:-webkit-fill-available}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100dvh;overscroll-behavior:none;width:100%;height:-webkit-fill-available;position:fixed;overflow:hidden}#root{height:100dvh;flex-direction:column;height:-webkit-fill-available;display:flex;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30%)}}@keyframes popIn{0%{opacity:0;transform:scale(.82)translateY(8px)}60%{opacity:1;transform:scale(1.03)translateY(-2px)}to{transform:scale(1)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{box-shadow:0 0 #00d4aa99}70%{box-shadow:0 0 0 6px #00d4aa00}to{box-shadow:0 0 #00d4aa00}}@keyframes badgePop{0%{transform:scale(.5)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes recordPulse{0%{transform:scale(1);box-shadow:0 0 #ff5a5f99}50%{transform:scale(1.04);box-shadow:0 0 0 12px #ff5a5f00}to{transform:scale(1);box-shadow:0 0 #ff5a5f00}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes tabBounce{0%{transform:scaleX(1)}40%{transform:scaleX(1.14)}to{transform:scaleX(1)}}.view-enter{animation:slideInRight .28s var(--ease-out) both}.view-exit{animation:slideOutLeft .22s var(--ease-in-out) both}.view-fade{animation:fadeIn .2s var(--ease-out) both}.bubble{word-break:break-word;max-width:78%;font-family:var(--font-body);animation:popIn .22s var(--spring) both;will-change:transform;padding:9px 13px;font-size:14.5px;line-height:1.48;position:relative}.bubble-me{background:var(--bubble-me);color:#fff;border-radius:20px 20px 5px;align-self:flex-end;box-shadow:0 2px 12px #0d6efd40}.bubble-them{background:var(--bubble-them);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:20px 20px 20px 5px;align-self:flex-start}.bubble-emoji{padding:4px 8px;font-size:36px;line-height:1;box-shadow:none!important;background:0 0!important}.bubble-time{opacity:.65;font-size:11px;font-family:var(--font-body);margin-top:3px;font-weight:500;display:block}.bubble-me .bubble-time{text-align:right;color:#fffc}.bubble-them .bubble-time{text-align:left;color:var(--ink-soft)}.contact-row{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex;position:relative}.contact-row:active{background:#0d6efd0d}.status-dot-online{background:var(--mint);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;animation:2.2s infinite pulse-ring;position:absolute;bottom:0;right:0}.unread-badge{background:var(--blue);color:#fff;min-width:20px;height:20px;font-family:var(--font-display);animation:badgePop .28s var(--spring) both;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;display:flex}.input-bar{padding:8px 12px;padding-bottom:max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px)saturate(180%);background:#ffffffe0;border-top:1px solid #0000000f;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.input-bar.dark{background:#0c1220eb;border-top:1px solid #ffffff0f}.composer-wrap{-webkit-overflow-scrolling:touch;min-height:40px;max-height:120px;font-family:var(--font-body);color:var(--ink);background:#f0f4ffe6;border:1.5px solid #0000;border-radius:22px;outline:none;flex:1;padding:9px 14px;font-size:15px;line-height:1.4;transition:border-color .2s,background .2s,box-shadow .2s;overflow-y:auto}.composer-wrap:focus-within{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #0d6efd1a}.composer-wrap.dark{color:var(--ink-dark);background:#1a2438e6}.icon-btn{cursor:pointer;width:40px;height:40px;transition:background .12s ease, transform .15s var(--spring);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:active{background:#0d6efd14;transform:scale(.88)}.send-btn{background:var(--blue);cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-blue);transition:transform .18s var(--spring), box-shadow .18s ease;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:active{transform:scale(.88)rotate(20deg);box-shadow:0 2px 8px #0d6efd33}.mic-btn{background:var(--surface-el);cursor:pointer;width:40px;height:40px;transition:transform .15s var(--spring), background .15s ease;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mic-btn.recording{background:var(--danger);animation:1s infinite recordPulse;transform:scale(1.1)}.tab-bar{padding:4px 8px;padding-bottom:max(4px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px)saturate(200%);z-index:50;background:#ffffffe6;border-top:1px solid #0000000f;flex-shrink:0;align-items:stretch;display:flex;position:relative}.tab-bar.dark{background:#090e1af0;border-top:1px solid #ffffff0f}.tab-item{cursor:pointer;z-index:2;transition:transform .18s var(--spring);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:7px 4px 5px;display:flex;position:relative}.tab-item:active{transform:scale(.88)}.tab-item__icon{transition:transform .22s var(--spring), color .15s ease;justify-content:center;align-items:center;display:flex}.tab-item.active .tab-item__icon{color:var(--blue);transform:translateY(-2px)scale(1.1)}.tab-item__label{font-family:var(--font-display);letter-spacing:.03em;color:var(--ink-faint);font-size:10px;font-weight:700;transition:color .15s}.tab-item.active .tab-item__label{color:var(--blue)}.tab-pill{pointer-events:none;z-index:1;background:#0d6efd1a;border-radius:12px;height:calc(100% - 12px);transition:left .32s cubic-bezier(.34,1.56,.64,1),width .32s cubic-bezier(.34,1.56,.64,1);position:absolute;top:6px}.chat-header{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffe0;border-bottom:1px solid #0000000f;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.chat-header.dark{background:#090e1aeb;border-bottom:1px solid #ffffff0f}.back-btn{cursor:pointer;width:36px;height:36px;transition:background .12s ease, transform .15s var(--spring);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-6px;display:flex}.back-btn:active{background:#0d6efd14;transform:scale(.88)}.search-bar{background:var(--surface-el);border:1.5px solid #0000;border-radius:24px;align-items:center;gap:8px;padding:8px 14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.search-bar:focus-within{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #0d6efd1a}.search-bar input{font-family:var(--font-body);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:14px}.search-bar.dark{background:var(--surface-el-dark)}.search-bar.dark input{color:var(--ink-dark)}.stagger-list .stagger-item{animation:slideUp .28s var(--ease-out) both}.stagger-list .stagger-item:first-child{animation-delay:0s}.stagger-list .stagger-item:nth-child(2){animation-delay:40ms}.stagger-list .stagger-item:nth-child(3){animation-delay:80ms}.stagger-list .stagger-item:nth-child(4){animation-delay:.12s}.stagger-list .stagger-item:nth-child(5){animation-delay:.16s}.stagger-list .stagger-item:nth-child(6){animation-delay:.2s}.stagger-list .stagger-item:nth-child(7){animation-delay:.23s}.stagger-list .stagger-item:nth-child(n+8){animation-delay:.26s}.pressable{cursor:pointer;transition:transform .15s var(--spring), opacity .15s ease;-webkit-tap-highlight-color:transparent}.pressable:active{opacity:.8;transform:scale(.96)}.reply-preview{border-left:3px solid var(--blue);animation:slideUp .18s var(--ease-out) both;background:#0d6efd0f;border-radius:0 8px 8px 0;padding:5px 10px;font-size:13px}.shimmer{border-radius:var(--r-md);background:linear-gradient(90deg,#0000000a 0%,#00000017 50%,#0000000a 100%) 0 0/200% 100%;animation:1.4s infinite shimmer}.native-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}.bubble-them.dark{background:var(--surface-el-dark);color:var(--ink-dark);box-shadow:0 1px 4px #0000004d}.date-sep{justify-content:center;align-items:center;margin:6px 0;display:flex}.date-sep span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--blue);font-family:var(--font-body);letter-spacing:.02em;background:#0d6efd1a;border-radius:12px;padding:4px 14px;font-size:11px;font-weight:600}@keyframes callRing{0%{box-shadow:0 0 #00d4aa80}70%{box-shadow:0 0 0 20px #00d4aa00}to{box-shadow:0 0 #00d4aa00}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
