:root{--accent:#2b7de9;--accent-hover:#1f6fd8;--accent-soft:#2b7de91f;--bg:#fff;--bg-2:#f4f4f5;--chat-bg:#dfe8d5;--chat-pattern:#78965a2e;--text:#0f1419;--muted:#707579;--border:#e6e6e7;--hover:#f2f2f3;--active:#3390ec;--active-text:#fff;--bubble-in:#fff;--bubble-out:#e3fdd0;--bubble-out-meta:#4fae4e;--meta:#8a9297;--shadow:0 1px 2px #10232f1f;--menu-bg:#fffffff7;--muted-bg:#c4c9cc;--danger:#e53935;--green:#4fae4e;--link:#2b7de9;--msg-font:16px;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--accent:#5eb5f7;--accent-hover:#74c0fa;--accent-soft:#5eb5f724;--bg:#17212b;--bg-2:#0e1621;--chat-bg:#0e1621;--chat-pattern:#ffffff06;--text:#f5f5f5;--muted:#7f8b95;--border:#0b121a;--hover:#202b36;--active:#2b5278;--active-text:#fff;--bubble-in:#182533;--bubble-out:#2b5278;--bubble-out-meta:#7eb9eb;--meta:#6d7f8f;--shadow:0 1px 2px #0000004d;--menu-bg:#212d3bf7;--muted-bg:#3b4a58;--link:#6ab3f3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg-2);overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Color Emoji,sans-serif;font-size:15px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,textarea,select{font:inherit;color:inherit}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:13px}.accent{color:var(--accent)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.pad{padding:16px}.grow{flex:1;min-width:0}.break{word-break:break-all}.flip{transform:rotate(180deg)}.flip-h{transform:scaleX(-1)}.hidden{display:none!important}.icon{flex-shrink:0;display:block}.icon-btn{width:40px;height:40px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.icon-btn:hover{background:var(--hover)}.icon-btn.active{color:var(--accent)}.icon-btn:disabled{opacity:.4;cursor:default}.btn{border-radius:10px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 20px;font-weight:500;transition:background .15s;display:inline-flex}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.primary:disabled{opacity:.6}.btn.text{color:var(--accent);text-transform:uppercase;letter-spacing:.02em;font-size:14px}.btn.text:hover{background:var(--accent-soft)}.btn.text.danger{color:var(--danger)}.btn.danger-fill{background:var(--danger);color:#fff}.btn.danger-fill:disabled{opacity:.5}.btn.block{width:100%;margin-top:10px}.btn.small{height:30px;font-size:12px}.link-btn{color:var(--muted);margin-top:14px;font-size:13px}.link-btn:hover{color:var(--accent)}.field{margin:12px 0;display:block;position:relative}.field input{border:1px solid var(--border);background:var(--bg);border-radius:12px;outline:none;width:100%;height:52px;padding:18px 14px 6px;font-size:16px;transition:border-color .15s}[data-theme=dark] .field input{border-color:#2f3e4c}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.field-label{color:var(--muted);pointer-events:none;font-size:16px;transition:all .15s;position:absolute;top:16px;left:15px}.field input:focus+.field-label,.field input:not(:placeholder-shown)+.field-label{font-size:12px;top:6px}.field input:focus+.field-label{color:var(--accent)}.field-hint{color:var(--muted);margin:4px 4px 0;font-size:12px;display:block}.field-ph{display:none}.check-row{cursor:pointer;align-items:center;gap:10px;margin:12px 0;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--accent)}select{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.toggle{background:var(--muted-bg);border-radius:12px;flex-shrink:0;width:40px;height:24px;transition:background .2s;display:inline-block;position:relative}.toggle span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--accent)}.toggle.on span{transform:translate(16px)}.toggle.small{margin-left:auto;transform:scale(.85)}.spinner{border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative;overflow:visible}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar .online-dot{border:2px solid var(--bg);background:#4fce5d;border-radius:50%;width:26%;max-width:14px;height:26%;max-height:14px;position:absolute;bottom:1px;right:1px}.avatar.pulse{animation:1.6s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #ffffff80}to{box-shadow:0 0 0 36px #fff0}}.boot{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100%;display:flex}.boot img{width:96px;height:96px}.boot .spinner{width:28px;height:28px}.auth{background:var(--bg);justify-content:center;align-items:center;height:100%;min-height:100%;padding:24px 16px;display:flex;overflow-y:auto}.auth-card{text-align:center;flex-direction:column;align-items:stretch;width:100%;max-width:380px;margin:auto;display:flex}.auth-logo{width:120px;height:120px;margin:0 auto 12px}.auth h1{margin:8px 0 6px;font-size:30px}.auth p{margin:0 0 16px}.auth .field{text-align:left}.error-box{color:var(--danger);text-align:left;background:#e539351a;border-radius:10px;margin:8px 0;padding:10px 12px;font-size:14px}.app{background:var(--bg);height:100%;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;width:380px;min-width:300px;max-width:420px;height:100%;display:flex;position:relative}.main{background:var(--chat-bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.info-panel{border-left:1px solid var(--border);background:var(--bg);flex-direction:column;width:360px;height:100%;display:flex}.no-chat{flex:1;justify-content:center;align-items:center;display:flex}.no-chat span{color:#fff;background:#00000040;border-radius:16px;padding:6px 14px;font-size:14px}.side-head{flex-shrink:0;align-items:center;gap:8px;height:56px;padding:8px 12px;display:flex}.side-title{flex:1;margin:0 0 0 8px;font-size:20px;font-weight:600}.search-box{background:var(--bg-2);height:42px;color:var(--muted);border:2px solid #0000;border-radius:22px;flex:1;align-items:center;gap:8px;padding:0 6px 0 14px;display:flex}[data-theme=dark] .search-box{background:#242f3d}.search-box:focus-within{border-color:var(--accent);background:var(--bg);color:var(--accent)}.search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px}.search-box .icon-btn{width:30px;height:30px}.folders{border-bottom:1px solid var(--border);scrollbar-width:none;flex-shrink:0;gap:4px;padding:0 8px;display:flex;overflow-x:auto}.folders::-webkit-scrollbar{display:none}.folder{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;border-radius:0;align-items:center;gap:6px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.folder.active{color:var(--accent);border-bottom-color:var(--accent)}.folder-badge{background:var(--muted);color:var(--bg);border-radius:10px;min-width:18px;padding:0 6px;font-size:12px;line-height:18px}.folder.active .folder-badge{background:var(--accent);color:#fff}.chat-list{flex:1;padding:6px;overflow-y:auto}.chat-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex;position:relative}.chat-item:hover{background:var(--hover)}.chat-item.active{background:var(--active);color:var(--active-text)}.chat-item.active .chat-preview,.chat-item.active .chat-meta,.chat-item.active .muted-ic,.chat-item.active .pin-ic,.chat-item.active .prefix,.chat-item.active .tick{color:#ffffffd9!important}.chat-item.active .badge{color:var(--active);background:#fff}.chat-item.compact{gap:12px;padding:6px 10px}.chat-main{flex:1;min-width:0}.chat-top,.chat-bottom{align-items:center;gap:6px;display:flex}.chat-top{justify-content:space-between}.chat-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;font-weight:600;display:flex;overflow:hidden}.title-ic{color:inherit;opacity:.8}.muted-ic{color:var(--muted)}.chat-meta{color:var(--muted);flex-shrink:0;align-items:center;gap:3px;font-size:12px;display:flex}.chat-meta .tick{color:var(--green)}[data-theme=dark] .chat-meta .tick{color:var(--accent)}.chat-bottom{margin-top:3px}.chat-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14.5px;overflow:hidden}.chat-preview.typing{color:var(--accent)}.chat-preview .prefix{color:var(--text)}.chat-preview .draft{color:var(--danger)}.badge{background:var(--green);color:#fff;text-align:center;border-radius:12px;flex-shrink:0;min-width:22px;height:22px;padding:0 7px;font-size:12.5px;font-weight:600;line-height:22px}[data-theme=dark] .badge{background:#3e9bdd}.badge.muted{background:var(--muted-bg)!important}.pin-ic{color:var(--muted);transform:rotate(45deg)}.section-label{color:var(--muted);padding:12px 12px 6px;font-size:14px;font-weight:500}.empty-list{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.role-tag{color:var(--accent);background:var(--accent-soft);border-radius:6px;flex-shrink:0;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:500}.fab{background:var(--accent);color:#fff;width:56px;height:56px;padding-bottom:env(safe-area-inset-bottom);border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex;position:absolute;bottom:20px;right:20px;box-shadow:0 2px 8px #00000040}.fab:hover{transform:scale(1.05)}.drawer-backdrop{z-index:50;background:#00000059;animation:.15s fade;position:fixed;top:0;bottom:0;left:0;right:0}.drawer{background:var(--bg);width:300px;max-width:85vw;height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;animation:.2s ease-out slideIn;display:flex;overflow-y:auto}@keyframes slideIn{0%{transform:translate(-100%)}}@keyframes fade{0%{opacity:0}}.drawer-head{border-bottom:1px solid var(--border);margin-bottom:6px;padding:20px}.drawer-name{margin-top:12px;font-size:16px;font-weight:600}.drawer-sub{color:var(--muted);margin-top:2px;font-size:14px}.drawer-item{text-align:left;align-items:center;gap:22px;padding:12px 22px;font-weight:500;display:flex}.drawer-item .icon{color:var(--muted)}.drawer-item:hover{background:var(--hover)}.drawer-foot{color:var(--muted);margin-top:auto;padding:16px 22px;font-size:12px}.screen-body{flex:1;padding-bottom:20px;overflow-y:auto}.form-pad{padding:0 16px}.settings-me{cursor:pointer;align-items:center;gap:16px;padding:16px;display:flex}.settings-me:hover{background:var(--hover)}.settings-name{font-size:18px;font-weight:600}.settings-group{border-top:8px solid var(--bg-2);padding:4px 0}.setting-row{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 16px;display:flex}.setting-link{text-align:left;align-items:center;gap:18px;width:100%;padding:13px 16px;display:flex}.setting-link .icon{color:var(--muted)}.setting-link:hover{background:var(--hover)}.setting-link.danger,.setting-link.danger .icon{color:var(--danger)}.session-row{align-items:center;gap:14px;padding:10px 16px;display:flex}.chips{flex-wrap:wrap;gap:6px;padding:8px 16px 0;display:flex}.chip{background:var(--accent-soft);color:var(--accent);cursor:pointer;border-radius:16px;padding:4px 10px;font-size:13px}.sel-circle{border:2px solid var(--muted-bg);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sel-circle.on{background:var(--green);border-color:var(--green);color:#fff}.pick-list{max-height:50vh;margin:0 -8px;overflow-y:auto}.avatar-picker{cursor:pointer;border-radius:50%;display:inline-block;position:relative}.avatar-cam{color:#fff;opacity:.85;background:#00000059;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.avatar-picker:hover .avatar-cam{opacity:1}.chat-view{background-color:var(--chat-bg);background-image:radial-gradient(var(--chat-pattern) 1.5px, transparent 1.5px), radial-gradient(var(--chat-pattern) 1.5px, transparent 1.5px);background-position:0 0,14px 14px;background-size:28px 28px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-head{background:var(--bg);border-bottom:1px solid var(--border);z-index:2;height:56px;padding:6px 10px;padding-top:calc(6px + env(safe-area-inset-top));height:calc(56px + env(safe-area-inset-top));flex-shrink:0;align-items:center;gap:4px;display:flex}.head-click{cursor:pointer;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;padding:2px 6px;display:flex}.head-info{flex:1;min-width:0}.head-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.head-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.back-btn{display:none!important}.pinned-bar{background:var(--bg);border-bottom:1px solid var(--border);cursor:pointer;border-left:3px solid var(--accent);z-index:1;flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;display:flex}.pinned-body{flex:1;min-width:0}.pinned-text{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.chat-search{background:var(--bg);border-bottom:1px solid var(--border);color:var(--muted);flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;display:flex}.chat-search input{height:38px;color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0}.messages{overscroll-behavior:contain;flex:1;overflow:hidden auto}.messages-inner{flex-direction:column;justify-content:flex-end;max-width:760px;min-height:100%;margin:0 auto;padding:8px 12px 10px;display:flex}.day-sep,.system-msg,.unread-sep{z-index:1;justify-content:center;margin:10px 0;display:flex;position:sticky;top:6px}.system-msg,.unread-sep{position:static}.day-sep span,.system-msg span{color:#fff;text-align:center;background:#00000038;border-radius:14px;max-width:90%;padding:3px 10px;font-size:13px;font-weight:500}[data-theme=dark] .day-sep span,[data-theme=dark] .system-msg span{background:#00000059}.unread-sep span{background:var(--bg);color:var(--muted);text-align:center;opacity:.9;width:100%;padding:4px;font-size:13px}.empty-chat{color:#fff;text-align:center;background:#0003;border-radius:18px;flex-direction:column;align-items:center;max-width:320px;margin:auto;padding:20px 24px;display:flex}.empty-chat h4{margin:8px 0 6px}.empty-chat p{opacity:.9;margin:0;font-size:14px}.msg-row{align-items:flex-end;gap:8px;margin:1px 0;display:flex;position:relative}.msg-row.last{margin-bottom:6px}.msg-row.out{justify-content:flex-end}.msg-row.selected{background:var(--accent-soft);border-radius:8px}.msg-row.highlight .bubble{animation:1.5s flash}@keyframes flash{0%,60%{filter:brightness(.8)}}.msg-row .sel-circle{background:#00000026;border-color:#fff;align-self:center}.msg-row .sel-circle.on{background:var(--green);border-color:var(--green)}.msg-avatar{flex-shrink:0;align-self:flex-end;width:36px}.bubble{background:var(--bubble-in);border-radius:var(--radius);max-width:min(520px,78%);box-shadow:var(--shadow);word-wrap:break-word;overflow-wrap:anywhere;font-size:var(--msg-font);min-width:60px;padding:6px 10px;line-height:1.35;position:relative}.msg-row.out .bubble{background:var(--bubble-out)}.msg-row.in .bubble.tail{border-bottom-left-radius:4px}.msg-row.out .bubble.tail{border-bottom-right-radius:4px}.bubble.media{padding:3px}.bubble.media .text.caption,.bubble.media .sender,.bubble.media .fwd,.bubble.media .reply-quote,.bubble.media .reactions{margin-left:7px;margin-right:7px}.bubble.media .reply-quote{margin-top:4px}.bubble.media>.meta:not(.over){margin-right:6px}.bubble.bare{box-shadow:none;padding:0;background:0 0!important}.bubble.sticker{min-width:0}.sender{cursor:pointer;margin-bottom:2px;font-size:14px;font-weight:600}.fwd{color:var(--accent);margin-bottom:3px;font-size:14px}.fwd b{cursor:pointer}.text{white-space:pre-wrap}.text.caption{margin-top:4px}.text pre{white-space:pre;background:#0000000f;border-radius:8px;margin:4px 0;padding:8px;font-size:13.5px;overflow-x:auto}.text code{background:#00000012;border-radius:4px;padding:1px 4px;font-size:.9em}[data-theme=dark] .text pre,[data-theme=dark] .text code{background:#ffffff14}.text mark,.chat-preview mark{color:inherit;background:#ffc80080;border-radius:2px}.spoiler{background:var(--muted);color:#0000;cursor:pointer;border-radius:4px;transition:all .2s}.spoiler.shown{color:inherit;background:0 0}.meta-spacer{height:1px;display:inline-block}.bubble.inline-meta>.meta{float:none;margin:0;position:absolute;top:auto;bottom:5px;right:9px}.bubble.media.inline-meta>.meta{right:12px}.meta{float:right;color:var(--meta);-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:3px;margin:6px 0 -4px 8px;font-size:12px;line-height:1;display:inline-flex;position:relative;top:2px}.msg-row.out .meta{color:var(--bubble-out-meta)}.bubble>.meta:not(.over){margin-top:2px}.meta.over{float:none;background:#0006;border-radius:10px;margin:0;padding:3px 6px;position:absolute;top:auto;bottom:8px;right:8px;color:#fff!important}.meta .tick{color:inherit}.meta .edited{font-style:italic}.meta .views{align-items:center;gap:2px;margin-right:4px;display:inline-flex}.meta .failed{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-weight:700;display:inline-flex}.big-emoji{padding:2px 0 16px;font-size:44px;line-height:1.15}.sticker-emoji{padding:0 0 18px;font-size:110px;line-height:1}.bubble.sticker .meta.over{bottom:0}.reply-quote{border-left:3px solid var(--accent);background:var(--accent-soft);cursor:pointer;border-radius:6px;gap:8px;min-width:0;margin:2px 0 4px;padding:4px 8px;font-size:14px;display:flex}.msg-row.out .reply-quote{border-left-color:var(--bubble-out-meta);background:#4fae4e1f}[data-theme=dark] .msg-row.out .reply-quote{background:#ffffff14;border-left-color:#fff}.reply-quote img{object-fit:cover;border-radius:4px;width:36px;height:36px}.reply-quote>div{min-width:0}.rq-name{color:var(--accent);font-weight:600}.msg-row.out .rq-name{color:var(--bubble-out-meta)}[data-theme=dark] .msg-row.out .rq-name{color:#fff}.rq-text{white-space:nowrap;text-overflow:ellipsis;max-width:260px;overflow:hidden}.media-box{border-radius:calc(var(--radius) - 3px);cursor:pointer;background:#00000014;position:relative;overflow:hidden}.media-box img,.media-box video{object-fit:cover;width:100%;height:100%;display:block}.media-box.loading{animation:1.2s infinite alternate shimmer}@keyframes shimmer{0%{opacity:.6}to{opacity:1}}.play-overlay{color:#fff;background:#00000073;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin:auto;padding-left:4px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.media-dur{color:#fff;background:#00000073;border-radius:8px;padding:2px 6px;font-size:12px;position:absolute;top:8px;left:8px}.file-box{color:inherit;align-items:center;gap:12px;min-width:200px;padding:4px 0;display:flex;text-decoration:none!important}.file-ic{background:var(--accent);color:#fff;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:9px;font-weight:700;display:flex}.msg-row.out .file-ic,.msg-row.out .play-btn{background:var(--bubble-out-meta)}[data-theme=dark] .msg-row.out .file-ic,[data-theme=dark] .msg-row.out .play-btn{color:var(--bubble-out);background:#fff}.file-info{flex:1;min-width:0}.file-name{white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-weight:500;overflow:hidden}.voice{align-items:center;gap:12px;min-width:220px;padding:4px 0;display:flex}.play-btn{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.wave{cursor:pointer;align-items:center;gap:2px;height:26px;display:flex}.wave span{background:var(--accent);border-radius:2px;width:3px;min-height:3px}.msg-row.out .wave span{background:var(--bubble-out-meta)}[data-theme=dark] .msg-row.out .wave span{background:#fff}.location,.contact-card{min-width:220px;color:inherit;cursor:pointer;align-items:center;gap:12px;padding:6px 2px;display:flex;text-decoration:none!important}.location .icon{color:var(--danger)}.reactions{flex-wrap:wrap;gap:4px;margin:6px 0 2px;display:flex}.reaction{background:var(--accent-soft);color:var(--accent);border-radius:14px;align-items:center;gap:4px;padding:2px 8px;font-size:13px;font-weight:600;display:inline-flex}.reaction span{font-size:15px}.reaction.me{background:var(--accent);color:#fff}.msg-row.out .reaction{color:var(--bubble-out-meta);background:#4fae4e2e}.msg-row.out .reaction.me{background:var(--bubble-out-meta);color:#fff}[data-theme=dark] .msg-row.out .reaction{color:#fff;background:#ffffff1f}[data-theme=dark] .msg-row.out .reaction.me{color:var(--bubble-out);background:#fff}.poll{min-width:240px;padding:2px 0}.poll-q{margin-bottom:2px;font-weight:600}.poll-opt{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.poll-opt.res{cursor:default}.poll-radio{border:2px solid var(--muted-bg);border-radius:50%;flex-shrink:0;width:20px;height:20px}.poll-radio.sq{border-radius:5px}.poll-radio.on{background:var(--accent);border-color:var(--accent)}.poll-pct{text-align:right;flex-shrink:0;width:36px;font-size:13px;font-weight:600}.poll-body{flex:1}.poll-text{align-items:center;gap:4px;display:flex}.poll-bar{background:0 0;border-radius:2px;height:4px;margin-top:5px}.poll-bar span{background:var(--accent);border-radius:2px;min-width:4px;height:100%;transition:width .3s;display:block}.msg-row.out .poll-bar span,.msg-row.out .poll-radio.on{background:var(--bubble-out-meta);border-color:var(--bubble-out-meta)}.poll-foot{text-align:center;padding-top:4px}.poll-edit-row{align-items:center;gap:4px;display:flex}.poll-edit-row .field{flex:1;margin:6px 0}.to-bottom{background:var(--bg);width:48px;height:48px;color:var(--muted);z-index:3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:90px;right:20px;box-shadow:0 1px 6px #0003}.to-bottom .badge{position:absolute;top:-8px;left:50%;transform:translate(-50%)}.composer-wrap{width:100%;max-width:784px;padding:0 12px calc(12px + env(safe-area-inset-bottom));z-index:2;margin:0 auto;position:relative}.composer{align-items:flex-end;gap:8px;display:flex}.composer>.icon-btn{margin-bottom:7px}.composer textarea{resize:none;background:var(--bg);max-height:200px;line-height:1.35;font-size:var(--msg-font);box-shadow:var(--shadow);border:none;border-radius:22px;outline:none;flex:1;min-height:48px;padding:13px 16px;overflow-y:auto}.composer:has(textarea){background:var(--bg);box-shadow:var(--shadow);border-radius:24px;padding:0 4px}.composer:has(textarea) textarea{box-shadow:none;background:0 0;padding:13px 6px}.composer .send-btn{margin:4px 0}.send-btn{background:var(--accent);color:#fff;width:48px;min-width:48px;height:48px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:transform .1s;display:flex}.send-btn:active{transform:scale(.94)}.quote-bar{background:var(--bg);box-shadow:var(--shadow);border-radius:16px 16px 0 0;align-items:center;gap:12px;margin-bottom:-6px;padding:6px 6px 12px 14px;display:flex}.quote-body{border-left:2px solid var(--accent);flex:1;min-width:0;padding-left:10px;font-size:14px}.quote-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recording{background:var(--bg);height:48px;box-shadow:var(--shadow);border-radius:24px;flex:1;align-items:center;gap:10px;padding:0 8px 0 18px;display:flex}.rec-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1s infinite blink}@keyframes blink{50%{opacity:.2}}.rec-hint{flex:1;font-size:14px}.chat-footer-btn{background:var(--bg);border-top:1px solid var(--border);padding:4px 12px calc(4px + env(safe-area-inset-bottom))}.chat-footer-btn .btn{margin:0}.emoji-panel{background:var(--bg);border-radius:16px;margin-bottom:8px;overflow:hidden;box-shadow:0 2px 12px #00000026}.emoji-tabs,.emoji-cats{scrollbar-width:none;gap:4px;padding:6px 8px 0;display:flex;overflow-x:auto}.emoji-tabs button,.emoji-cats button{color:var(--muted);white-space:nowrap;border-radius:14px;padding:6px 10px;font-size:13px;font-weight:500}.emoji-tabs button.active,.emoji-cats button.active{background:var(--accent-soft);color:var(--accent)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));max-height:230px;padding:8px;display:grid;overflow-y:auto}.emoji-grid button{border-radius:8px;height:42px;font-size:26px}.emoji-grid button:hover{background:var(--hover)}.emoji-grid.stickers{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.emoji-grid.stickers button{height:76px;font-size:52px}.menu-backdrop{z-index:100;position:fixed;top:0;bottom:0;left:0;right:0}.menu{background:var(--menu-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;min-width:220px;max-width:320px;padding:6px;transition:opacity 50ms;animation:.12s ease-out pop;position:fixed;box-shadow:0 4px 24px #0003}@keyframes pop{0%{transform:scale(.95)}}.menu-item{text-align:left;border-radius:8px;align-items:center;gap:16px;width:100%;padding:9px 12px;font-size:14.5px;font-weight:500;display:flex}.menu-item .icon{color:var(--muted)}.menu-item:hover{background:var(--hover)}.menu-item.danger,.menu-item.danger .icon{color:var(--danger)}.menu-sep{background:var(--border);height:1px;margin:4px 0}.quick-reactions{border-bottom:1px solid var(--border);gap:2px;margin-bottom:4px;padding:2px 2px 6px;display:flex;overflow-x:auto}.quick-reactions button{border-radius:50%;flex-shrink:0;width:36px;height:36px;font-size:22px;transition:transform .1s}.quick-reactions button:hover{background:var(--hover);transform:scale(1.2)}.modal-backdrop{z-index:90;background:#0006;justify-content:center;align-items:center;padding:16px;animation:.15s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--bg);border-radius:16px;flex-direction:column;width:100%;max-width:420px;max-height:calc(100% - 32px);animation:.15s ease-out pop;display:flex;box-shadow:0 8px 40px #0000004d}.modal.wide{max-width:640px}.modal-head{justify-content:space-between;align-items:center;padding:12px 12px 4px 20px;display:flex}.modal-head h3{margin:0;font-size:19px}.modal-body{padding:8px 20px 12px;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:8px;padding:8px 12px 12px;display:flex}.confirm-text{margin:4px 0 8px;line-height:1.45}.send-previews{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.send-prev{background:var(--bg-2);border-radius:10px;flex:45%;justify-content:center;align-items:center;max-height:260px;display:flex;overflow:hidden}.send-prev img,.send-prev video{object-fit:contain;width:100%;max-height:260px}.send-prev .file-box{width:100%;padding:10px}.progress{background:var(--accent-soft);border-radius:2px;height:4px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));color:#fff;z-index:200;text-align:center;background:#1e1e1eeb;border-radius:12px;max-width:calc(100% - 32px);padding:10px 18px;font-size:14px;animation:.2s ease-out toastIn;position:fixed;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}}.panel-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:8px 12px;display:flex}.panel-head h3{margin:0;font-size:18px}.panel-body{flex:1;overflow-y:auto}.profile-top{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:24px 16px 16px;display:flex}.profile-top h2{word-break:break-word;margin:12px 0 0;font-size:21px}.profile-actions{flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px 12px;display:flex}.profile-actions button{color:var(--accent);background:var(--accent-soft);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:72px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.info-list{border-top:8px solid var(--bg-2);padding:6px 0}.info-row{align-items:center;gap:24px;padding:10px 20px;display:flex}.info-row.clickable{cursor:pointer}.info-row.clickable:hover{background:var(--hover)}.info-value{word-break:break-word}.info-action{text-align:left;align-items:center;gap:24px;width:100%;padding:12px 20px;display:flex}.info-action .icon{color:var(--muted)}.info-action:hover{background:var(--hover)}.info-action.danger,.info-action.danger .icon{color:var(--danger)}.shared{border-top:8px solid var(--bg-2)}.shared-tabs{border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.shared-tabs button{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;flex:1;padding:12px 8px;font-size:14px;font-weight:500}.shared-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.media-grid{grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.media-cell{aspect-ratio:1;cursor:pointer;background:var(--bg-2);position:relative;overflow:hidden}.media-cell img,.media-cell video{object-fit:cover;width:100%;height:100%}.cell-play{color:#fff;position:absolute;bottom:6px;left:6px}.shared-row{color:inherit;align-items:center;gap:14px;padding:10px 16px;display:flex;text-decoration:none!important}.shared-row:hover{background:var(--hover)}.viewer{z-index:150;color:#fff;background:#000000eb;flex-direction:column;animation:.15s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.viewer-top{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.viewer-top>div:last-child{gap:4px;display:flex}.viewer .icon-btn{color:#fff}.viewer .icon-btn:hover{background:#ffffff1a}.viewer .muted{color:#aaa}.viewer-body{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.viewer-body img,.viewer-body video{object-fit:contain;max-width:100%;max-height:100%}.viewer-nav{color:#fff;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.viewer-nav.left{left:12px}.viewer-nav.right{right:12px}.viewer-caption{text-align:center;padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.call-layer{z-index:180;color:#fff;background:linear-gradient(160deg,#2f5f8f,#1d2f45 60%,#16202c);flex-direction:column;align-items:center;animation:.2s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.call-layer.has-video{background:#000}.remote-video{object-fit:contain;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.call-top{text-align:center;padding-top:calc(48px + env(safe-area-inset-top));z-index:1;text-shadow:0 1px 3px #0006;position:relative}.call-name{font-size:26px;font-weight:600}.call-status{opacity:.85;margin-top:6px;font-size:16px}.call-center{position:absolute;top:30%;left:50%;transform:translate(-50%)}.local-video{right:16px;top:calc(16px + env(safe-area-inset-top));aspect-ratio:3/4;object-fit:cover;z-index:2;background:#222;border-radius:14px;width:28vw;max-width:220px;position:absolute;box-shadow:0 2px 12px #00000080}.local-video.mirror{transform:scaleX(-1)}.call-controls{bottom:calc(48px + env(safe-area-inset-bottom));z-index:2;gap:22px;display:flex;position:absolute}.call-btn{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .1s;display:flex}.call-btn:active{transform:scale(.94)}.call-btn.on{color:#1d2f45;background:#fff}.call-btn.red{background:#e53935}.call-btn.green{background:#4caf50}@media (max-width:1200px){.panel-open .info-panel{z-index:40;max-width:100%;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #00000026}}@media (max-width:900px){.sidebar{width:320px;min-width:280px}}@media (max-width:700px){.app{position:relative;overflow:hidden}.sidebar{width:100%;min-width:0;max-width:none;padding-top:env(safe-area-inset-top);border-right:none}.main{z-index:10;transition:transform .22s ease-out;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(100%)}.chat-open .main{transform:none}.chat-open .sidebar{visibility:hidden;transition:visibility 0s .22s}.back-btn{display:inline-flex!important}.info-panel{z-index:40;padding-top:env(safe-area-inset-top);width:100%!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:0!important}.messages-inner{padding:6px 8px 8px}.composer-wrap{padding:0 8px calc(8px + env(safe-area-inset-bottom))}.bubble{max-width:84%}.hide-narrow{display:none!important}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-height:92%;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0}.to-bottom{bottom:80px;right:12px}.fab{bottom:calc(20px + env(safe-area-inset-bottom))}.call-btn{width:60px;height:60px}}@media (hover:none){.chat-item:hover:not(.active),.menu-item:hover,.icon-btn:hover{background:0 0}}
