:root{--accent: #3b5bdb;--accent-strong: #364fc7;--accent-soft: #e7ecff;--on-accent: #fff;--bg: #eef0f4;--panel: #ffffff;--panel-2: #f6f7f9;--hover: #f1f3f6;--border: #e3e6eb;--text: #15181d;--muted: #69717d;--bubble-in: #ffffff;--bubble-out: #dfe6ff;--chat-bg: #e9ebf0;--chat-dots: rgba(59, 91, 219, .06);--read: #1c7ed6;--danger: #e03131;--ok: #2f9e44;--shadow: 0 1px 1px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .18);--radius: 10px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px}@media(prefers-color-scheme:dark){:root{--accent: #6d8bff;--accent-strong: #8aa2ff;--accent-soft: #1f2747;--on-accent: #0b1020;--bg: #0b0d12;--panel: #14171e;--panel-2: #1a1e27;--hover: #1e2330;--border: #262b37;--text: #e7e9ee;--muted: #8d95a5;--bubble-in: #1d212b;--bubble-out: #26315c;--chat-bg: #0f1218;--chat-dots: rgba(109, 139, 255, .05);--read: #5cb8ff;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default;opacity:.5}input,textarea{font:inherit;color:inherit}a{color:var(--accent)}h1,h2,h3,h4{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.accent{color:var(--accent)}.danger{color:var(--danger)!important}.ok{color:var(--ok)}.center{text-align:center}.pad{padding:8px 16px}.rel{position:relative}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ellipsis2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.error{color:var(--danger);margin:0;font-size:.9rem}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--muted);flex:none;text-decoration:none}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn.active{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;font-weight:600}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.ghost{color:var(--muted)}.btn.ghost:hover{background:var(--hover)}label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}label input,.search input,.inline-form input{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:1rem;width:100%}label input:focus,.inline-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}label input:disabled{opacity:.7}.spinner{display:inline-block;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;opacity:.7;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:700}.pill{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;flex:none}.brand-mark{display:inline-block;width:36px;height:36px;border-radius:10px;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 10h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-8l-5 4v-4H9a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2z' fill='white'/%3E%3C/svg%3E") center/100% no-repeat}.brand-mark.big{width:72px;height:72px;border-radius:20px}.splash{height:100%;display:grid;place-content:center;justify-items:center;gap:24px;color:var(--accent)}.auth{min-height:100%;display:grid;place-items:center;padding:16px;overflow-y:auto}.auth-card{width:100%;max-width:380px;background:var(--panel);border-radius:16px;padding:28px;box-shadow:var(--shadow-lg);display:grid;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand h1{font-size:1.4rem}.auth-card p{margin:0}.seg{display:flex;background:var(--panel-2);border-radius:10px;padding:4px}.seg button{flex:1;padding:8px;border-radius:7px;color:var(--muted);font-weight:500}.seg button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.app{height:100%;display:grid;grid-template-columns:minmax(300px,400px) 1fr;max-width:1600px;margin:0 auto;background:var(--panel);position:relative}@media(min-width:1640px){.app{height:calc(100% - 32px);margin-top:16px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg)}}.offline{position:absolute;top:0;left:0;right:0;z-index:50;background:#f59f00;color:#000;text-align:center;padding:4px;font-size:.85rem}.sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--panel)}.side-head{display:flex;align-items:center;gap:4px;padding:10px 8px 10px 14px;background:var(--panel-2)}.side-title{flex:1;margin-left:8px;font-size:1.1rem}.me-btn{border-radius:50%}.notif-banner{display:flex;gap:12px;align-items:center;text-align:left;padding:12px 16px;background:var(--accent-soft);color:var(--text)}.notif-banner svg{color:var(--accent);flex:none}.notif-banner span{display:grid;gap:2px}.notif-banner small{color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--border)}.tabs button{flex:1;padding:12px 8px;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;display:inline-flex;justify-content:center;gap:6px;align-items:center}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.side-body{flex:1;overflow-y:auto;min-height:0;position:relative}.search{display:flex;align-items:center;gap:8px;margin:8px 12px;padding:0 12px;background:var(--panel-2);border-radius:8px;color:var(--muted)}.search input{border:0;background:transparent;padding:9px 0;outline:none}.empty{padding:40px 24px;text-align:center;color:var(--muted);display:grid;gap:8px;justify-items:center}.empty p{margin:0}.section-title{padding:14px 16px 6px;color:var(--accent);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.chat-list{list-style:none;margin:0;padding:0}.chat-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;text-align:left;position:relative}.chat-row:hover,.chat-row.active{background:var(--hover)}.chat-row-main{flex:1;min-width:0;display:grid;gap:3px;padding-bottom:2px}.chat-row-top,.chat-row-bottom{display:flex;align-items:center;gap:6px;justify-content:space-between;min-width:0}.chat-row-top small{flex:none;font-size:.75rem}.chat-row-bottom{color:var(--muted);font-size:.9rem}.preview{display:flex;align-items:center;gap:3px;min-width:0;flex:1}.typing{color:var(--accent)!important;font-weight:500}.action-row strong{font-weight:500}.accent-bg{background:var(--accent)!important;color:var(--on-accent)}.avatar{position:relative;flex:none;display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:600;overflow:visible;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.online-dot{position:absolute;right:0;bottom:0;width:28%;height:28%;max-width:14px;max-height:14px;border-radius:50%;background:var(--ok);border:2px solid var(--panel)}.popover{position:absolute;z-index:30;background:var(--panel);border-radius:10px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.menu{min-width:190px;padding:6px 0;top:calc(100% + 4px);display:grid}.menu.right{right:0}.menu.left{left:0}.menu.up{bottom:calc(100% + 8px);top:auto;left:0}.menu>button,.menu>a{display:flex;align-items:center;gap:12px;padding:10px 16px;text-align:left;color:var(--text);text-decoration:none}.menu>button:hover,.menu>a:hover{background:var(--hover)}.menu svg{color:var(--muted)}.emoji-picker{width:min(340px,calc(100vw - 24px));max-height:280px;overflow-y:auto;padding:8px}.emoji-picker.up{bottom:calc(100% + 8px);left:0}.emoji-picker.left{left:0;top:0}.emoji-picker.right{right:0;top:0}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}.emoji-grid button{font-size:1.45rem;padding:4px;border-radius:8px}.emoji-grid button:hover{background:var(--hover)}.pane{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--chat-bg);position:relative}.empty-pane{display:grid;place-items:center;text-align:center;border-bottom:6px solid var(--accent)}.empty-pane h2{margin:16px 0 6px;font-weight:500}.chat-head{display:flex;align-items:center;gap:4px;padding:8px 8px 8px 12px;background:var(--panel-2);border-bottom:1px solid var(--border);min-height:60px}.chat-head-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left}.chat-head-main>span:last-child{display:grid;min-width:0}.chat-head-main small{color:var(--muted);font-size:.8rem}.back-btn{display:none}.messages{flex:1;overflow-y:auto;padding:12px 6% 8px;display:flex;flex-direction:column;gap:2px;background-color:var(--chat-bg);background-image:radial-gradient(var(--chat-dots) 1.2px,transparent 1.2px);background-size:18px 18px;position:relative}.day-sep,.system-msg{text-align:center;margin:10px 0}.day-sep span,.system-msg span{display:inline-block;background:var(--panel);color:var(--muted);font-size:.78rem;padding:5px 12px;border-radius:8px;box-shadow:var(--shadow)}.system-msg span{background:var(--accent-soft);color:var(--text);max-width:80%}.msg-row{display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:0 0 0 8px}.msg-row.mine{align-items:flex-end;padding:0 8px 0 0}.msg-row.first{margin-top:8px}.msg-row.has-reactions{margin-bottom:14px}.msg-row.flash .bubble{animation:flash 1.4s ease}@keyframes flash{0%,60%{box-shadow:0 0 0 4px var(--accent)}}.bubble{position:relative;max-width:min(560px,82%);background:var(--bubble-in);border-radius:8px;padding:6px 8px 6px 9px;box-shadow:var(--shadow);word-wrap:break-word;overflow-wrap:anywhere}.mine .bubble{background:var(--bubble-out)}.first .bubble{border-top-left-radius:2px}.mine.first .bubble{border-top-left-radius:8px;border-top-right-radius:2px}.first:not(.mine) .bubble:before,.mine.first .bubble:before{content:"";position:absolute;top:0;width:8px;height:10px}.first:not(.mine) .bubble:before{left:-7px;background:linear-gradient(225deg,var(--bubble-in) 50%,transparent 50%)}.mine.first .bubble:before{right:-7px;background:linear-gradient(135deg,var(--bubble-out) 50%,transparent 50%)}.bubble .sender{display:block;font-size:.82rem;font-weight:600;margin-bottom:2px}.bubble .text{margin:0;white-space:pre-wrap;line-height:1.38}.bubble .text:after{content:"";display:inline-block;width:78px}.mine .bubble .text:after{width:96px}.bubble.deleted .muted{font-style:italic;display:inline-flex;align-items:center;gap:4px;padding-right:64px}.meta{float:right;display:inline-flex;align-items:center;gap:3px;font-size:.7rem;color:var(--muted);margin:6px 0 -4px 8px;position:relative;top:2px;white-space:nowrap}.bubble .text+.meta,.bubble .voice+.meta{position:absolute;right:8px;bottom:5px;margin:0}.meta em{margin-right:3px}.tick{color:var(--muted)}.tick.read{color:var(--read)}.tick.failed{color:var(--danger)}.msg-caret{position:absolute;top:2px;right:2px;width:26px;height:22px;display:grid;place-items:center;border-radius:6px;color:var(--muted);opacity:0;background:inherit}.bubble:hover .msg-caret,.msg-caret:focus-visible{opacity:1}@media(hover:none){.msg-caret{display:none}}.quote{display:grid;text-align:left;width:100%;background:#0000000d;border-left:4px solid var(--accent);border-radius:6px;padding:5px 8px;margin-bottom:4px;font-size:.85rem;gap:1px;min-width:0}@media(prefers-color-scheme:dark){.quote{background:#ffffff0f}}.quote strong{font-size:.8rem}.quote span{color:var(--muted)}.media{display:block;position:relative;margin:-2px -4px 4px;border-radius:6px;overflow:hidden;min-width:200px;background:#00000014}.media img,.media video{display:block;max-width:100%;max-height:360px;width:auto;margin:0 auto}.media video{width:100%;background:#000}.media-ph{display:block;width:260px;height:200px}.bubble.image .meta,.bubble.video .meta{float:none;position:absolute;right:8px;bottom:8px;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.7)}.bubble.image .tick,.bubble.video .tick{color:#fff}.bubble.image .tick.read,.bubble.video .tick.read{color:#8fd3ff}.bubble.image .text+.meta,.bubble.video .text+.meta{color:var(--muted);text-shadow:none;bottom:5px}.uploading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:4px;background:#00000059;color:#fff}.file-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px;margin:-2px -4px 18px;border-radius:6px;background:#0000000d;color:inherit;text-decoration:none;min-width:220px}.file-card>span{display:grid;min-width:0}.file-card small{color:var(--muted);font-size:.75rem}.file-card svg:first-child{color:var(--accent)}.file-card .text{grid-column:1 / -1}.voice{display:flex;align-items:center;gap:8px;min-width:230px;padding:2px 0 14px}.voice-play{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--accent);flex:none}.voice input[type=range]{flex:1;accent-color:var(--accent)}.voice small{color:var(--muted);font-size:.75rem;min-width:34px}.reactions{position:absolute;bottom:-16px;display:flex;gap:2px;z-index:1}.msg-row:not(.mine) .reactions{left:18px}.mine .reactions{right:18px}.reactions button{display:inline-flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:1px 6px;font-size:.9rem;box-shadow:var(--shadow)}.reactions button.mine{border-color:var(--accent);background:var(--accent-soft)}.reactions small{font-size:.72rem;color:var(--muted)}.msg-menu{top:100%}.quick-reactions{display:flex;gap:2px;padding:4px 8px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.quick-reactions button{font-size:1.45rem;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.quick-reactions button:hover{background:var(--hover)}.quick-reactions button.mine{background:var(--accent-soft)}.to-bottom{position:sticky;bottom:8px;align-self:flex-end;width:42px;height:42px;border-radius:50%;background:var(--panel);box-shadow:var(--shadow-lg);display:grid;place-items:center;color:var(--muted);flex:none}.drop-hint{position:absolute;top:60px;right:0;bottom:0;left:0;background:#3b5bdb26;border:3px dashed var(--accent);display:grid;place-items:center;font-size:1.3rem;font-weight:600;color:var(--accent);pointer-events:none}.composer-wrap{background:var(--panel-2);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.reply-bar{display:flex;align-items:center;gap:8px;padding:8px 8px 0 16px}.reply-bar .quote{margin:0;flex:1}.composer{display:flex;align-items:flex-end;gap:2px;padding:8px 10px}.composer textarea{flex:1;resize:none;border:0;border-radius:10px;background:var(--panel);padding:10px 14px;max-height:140px;line-height:1.35;outline:none;margin:0 6px;min-height:42px}.send-btn{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;flex:none}.send-btn:hover{background:var(--accent-strong)}.recorder{align-items:center;gap:10px}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}.rec-time{font-variant-numeric:tabular-nums;font-weight:600}.rec-hint{flex:1}.panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000040;display:flex}.panel{width:min(420px,100%);height:100%;background:var(--panel);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slide .18s ease-out}@keyframes slide{0%{transform:translate(-24px);opacity:0}}.panel-head{display:flex;align-items:center;gap:12px;padding:12px;min-height:60px;background:var(--accent);color:var(--on-accent)}.panel-head .icon-btn{color:inherit}.panel-head .icon-btn:hover{background:#ffffff26;color:inherit}.panel-body{flex:1;overflow-y:auto;position:relative;padding-bottom:80px}.profile{display:grid;gap:16px;padding:20px}.center-col{display:grid;justify-items:center;text-align:center;gap:6px}.center-col h2{display:flex;align-items:center;gap:4px;margin-top:8px}.avatar-edit{position:relative;justify-self:center;border-radius:50%}.avatar-edit>span:last-child{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#00000073;color:#fff;display:grid;place-content:center;justify-items:center;gap:4px;font-size:.8rem;opacity:0;transition:opacity .15s}.avatar-edit:hover:not(:disabled)>span:last-child{opacity:1}.info-actions{display:flex;gap:12px;margin:12px 0}.info-actions button{display:grid;justify-items:center;gap:4px;padding:12px 20px;border:1px solid var(--border);border-radius:10px;color:var(--accent);font-size:.85rem}.about-box{width:100%;text-align:left;background:var(--panel-2);padding:12px 16px;border-radius:10px}.about-box p{margin:4px 0 0}.inline-form{display:flex;gap:6px;width:100%;align-items:center}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 12px 0}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent);padding:5px 10px;border-radius:999px;font-size:.85rem}.checkbox{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);display:grid;place-items:center;flex:none}.checkbox.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.member-actions{display:grid;margin:0 14px 8px 70px;background:var(--panel-2);border-radius:10px;overflow:hidden}.member-actions button{text-align:left;padding:10px 14px}.member-actions button:hover{background:var(--hover)}.fab{position:absolute;right:20px;bottom:20px;width:56px;height:56px;border-radius:16px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;box-shadow:var(--shadow-lg);z-index:3}.panel .fab{position:sticky;float:right;margin:-76px 20px 0 0}.status-tab{padding-bottom:20px}.status-avatar-btn{border-radius:50%}.my-status .chat-row-main{cursor:pointer}.ring{display:inline-grid;padding:2px;border-radius:50%;border:2.5px solid var(--accent);flex:none}.ring.seen{border-color:var(--border)}.ring.none{border-color:transparent}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column}.status-composer{color:#fff;background:#000}.status-composer .icon-btn,.status-viewer .icon-btn{color:#fff}.status-composer .icon-btn:hover,.status-viewer .icon-btn:hover{background:#ffffff26;color:#fff}.sc-top{display:flex;justify-content:space-between;padding:12px}.sc-text{flex:1;background:transparent;border:0;outline:none;color:#fff;font-size:clamp(1.4rem,4vw,2.4rem);text-align:center;padding:10vh 8vw;resize:none}.sc-text::placeholder{color:#ffffffb3}.sc-image{flex:1;display:flex;flex-direction:column;min-height:0;align-items:center;gap:12px;padding:0 16px 100px}.sc-image img{flex:1;min-height:0;max-width:100%;object-fit:contain}.sc-caption{width:min(600px,100%);background:#ffffff1f;border:0;border-radius:10px;padding:12px 16px;color:#fff;outline:none}.status-viewer{background:#000;color:#fff}.sv-bars{display:flex;gap:4px;padding:10px 10px 0}.sv-bars span{flex:1;height:3px;background:#ffffff59;border-radius:2px;overflow:hidden}.sv-bars i{display:block;height:100%;background:#fff}.sv-head{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px}.sv-head>span{flex:1;display:grid}.sv-head small{opacity:.75;font-size:.8rem}.sv-body{flex:1;position:relative;display:grid;place-items:center;min-height:0;padding:0 0 40px;-webkit-user-select:none;user-select:none}.sv-body img{max-width:100%;max-height:100%;object-fit:contain;grid-area:1 / 1}.sv-text{font-size:clamp(1.4rem,4vw,2.4rem);text-align:center;padding:0 8vw;white-space:pre-wrap;margin:0}.sv-caption{position:absolute;bottom:30px;left:0;right:0;text-align:center;background:#00000080;padding:10px;margin:0}.sv-nav{position:absolute;top:0;bottom:0;width:35%}.sv-nav.prev{left:0}.sv-nav.next{right:0}.call-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:linear-gradient(160deg,#1b2a6b,#0b0f1e);color:#fff;display:grid;grid-template-rows:auto 1fr auto}.call-screen.has-video{background:#000}.call-top{grid-row:1;display:grid;justify-items:center;gap:4px;padding:32px 16px 16px;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.6)}.call-top strong{font-size:1.5rem;font-weight:500}.call-top small{opacity:.85;font-variant-numeric:tabular-nums}.call-center{grid-row:2;display:grid;place-items:center}.remote-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}@media(min-aspect-ratio:4/3){.remote-video{object-fit:contain}}.local-video{position:absolute;right:16px;bottom:120px;width:min(28vw,200px);aspect-ratio:3 / 4;object-fit:cover;border-radius:12px;box-shadow:var(--shadow-lg);transform:scaleX(-1);z-index:2;background:#222}.call-controls{grid-row:3;display:flex;justify-content:center;gap:20px;padding:24px 16px calc(32px + env(safe-area-inset-bottom));z-index:2}.round{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#ffffff2e;color:#fff}.round.on{background:#fff;color:#111}.round.danger{background:var(--danger);color:#fff!important}.round.ok{background:var(--ok);color:#fff}.incoming-call{position:fixed;z-index:70;top:16px;left:50%;transform:translate(-50%);width:min(420px,calc(100% - 32px));background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:12px;animation:drop .25s ease-out}@keyframes drop{0%{transform:translate(-50%,-20px);opacity:0}}.incoming-text{flex:1;display:grid;min-width:0}.incoming-text small{color:var(--muted)}.incoming-call .round{width:48px;height:48px}.lightbox{background:#000000eb;align-items:center;justify-content:center}.lightbox img{max-width:96vw;max-height:86vh;object-fit:contain}.lb-top{position:absolute;top:8px;right:8px;display:flex;gap:4px}.lb-top .icon-btn{color:#fff;font-size:1.2rem}.lb-top .icon-btn:hover{background:#ffffff26;color:#fff}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);background:#212529;color:#fff;padding:10px 18px;border-radius:10px;box-shadow:var(--shadow-lg);z-index:90;max-width:calc(100% - 32px);font-size:.9rem}@media(max-width:800px){.app{grid-template-columns:1fr}.app .pane,.app.chat-open .sidebar{display:none}.app.chat-open .pane{display:flex}.back-btn{display:inline-grid}.chat-head{padding-left:2px}.messages{padding:10px 2px 6px}.bubble{max-width:86%}.panel{width:100%}.composer{padding:6px}.composer textarea{margin:0 4px}}
