:root,[data-theme=light],[data-theme=mak-light]{--primary:#3390ec;--primary-hover:#2a7fd4;--bg:#fff;--surface:#fff;--hover:#f4f4f5;--border:#dadce0;--text:#000;--text-secondary:#707579;--input-bg:#f4f4f5;--bubble-in:#fff;--bubble-out:#e3fee0;--meta-out:#4fae4e;--meta-in:#a3a9ad;--chip-out-bg:#4fae4e29;--chip-out-text:#3a9a39;--online:#4fae4e;--danger:#e53935;--pill-bg:#40628c6b;--shadow:0 1px 2px #10232f26;--chat-bg:linear-gradient(135deg, #dbe8f6 0%, #bcd3ee 35%, #d3e1f4 65%, #a9c4e6 100%);--pattern:#ffffff2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}[data-theme=dark],[data-theme=mak-dark]{--primary:#8774e1;--primary-hover:#7a66d6;--bg:#212121;--surface:#212121;--hover:#2c2c2c;--border:#303030;--text:#fff;--text-secondary:#aaa;--input-bg:#2c2c2c;--bubble-in:#212121;--bubble-out:#766ac8;--meta-out:#fff9;--meta-in:#8a8a8a;--chip-out-bg:#fff3;--chip-out-text:#fff;--online:#0ac630;--danger:#ff595a;--pill-bg:#00000059;--chat-bg:linear-gradient(135deg, #1a2026 0%, #10151a 50%, #1b1a26 100%);--pattern:#ffffff08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only}[data-theme=mak-light]{--primary:#c0434d;--primary-hover:#a8363f;--bubble-out:#fde4e3;--meta-out:#b4474f;--chip-out-bg:#b4474f24;--chip-out-text:#a33e46;--pill-bg:#8c46486b;--chat-bg:linear-gradient(135deg, #f7e6e1 0%, #ecccc7 35%, #f4dfd8 65%, #e2bcb8 100%)}[data-theme=mak-dark]{--primary:#c2525b;--primary-hover:#ad4650;--bubble-out:#6e2f36;--chat-bg:linear-gradient(135deg, #261a1d 0%, #161113 50%, #2a1b20 100%)}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#root{height:var(--app-height,100%);position:fixed;top:0;left:0;right:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,textarea{font:inherit;color:inherit}.muted{color:var(--text-secondary)}.accent{color:var(--primary)}.splash{place-items:center;height:100%;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.spinner.small{border-width:2px;width:24px;height:24px}.spinner.center{margin:12px auto}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{width:40px;height:40px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s;display:grid}.icon-btn:hover{background:var(--hover)}.btn-primary{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.02em;border-radius:12px;width:100%;height:54px;font-size:16px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-link{color:var(--primary);padding:12px;font-size:15px}.btn-link:hover{text-decoration:underline}.field{width:100%;margin-bottom:16px;display:block;position:relative}.field input,.field textarea{border:1px solid var(--border);resize:none;background:0 0;border-radius:12px;outline:none;width:100%;padding:15px 16px;transition:border-color .15s}.field input:hover,.field textarea:hover{border-color:var(--primary)}.field input:focus,.field textarea:focus{border:2px solid var(--primary);padding:14px 15px}.field span{color:var(--text-secondary);background:var(--surface);pointer-events:none;padding:0 4px;transition:all .15s;position:absolute;top:15px;left:12px}.field input:focus+span,.field textarea:focus+span,.field input:not(:placeholder-shown)+span,.field textarea:not(:placeholder-shown)+span{font-size:13px;top:-9px}.field input:focus+span,.field textarea:focus+span{color:var(--primary)}.field-hint{text-align:right;color:var(--text-secondary);margin:-12px 4px 12px;font-size:12px}.form-error,.form-success{border-radius:10px;width:100%;margin-bottom:16px;padding:10px 14px;font-size:14px}.form-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.form-success{color:var(--online);background:color-mix(in srgb, var(--online) 12%, transparent)}.pill{background:var(--pill-bg);color:#fff;border-radius:16px;padding:4px 12px;font-size:14px;font-weight:500;display:inline-block}.auth-page{background:var(--bg);justify-content:center;align-items:flex-start;height:100%;padding:64px 16px 32px;display:flex;overflow-y:auto}.auth-card{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex}.auth-card h1{margin:28px 0 8px;font-size:32px;font-weight:500}.auth-subtitle{color:var(--text-secondary);margin:0 0 32px;line-height:1.35}.auth-card .field{text-align:left}.auth-card .btn-primary{margin-top:8px}.messenger{height:100%;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:420px;min-width:300px;max-width:40%;display:flex}.sidebar-header{align-items:center;gap:8px;padding:8px 16px 8px 12px;display:flex}.menu-wrap{position:relative}.dropdown{z-index:20;background:var(--surface);border-radius:12px;min-width:250px;padding:6px;animation:.12s ease-out pop;position:absolute;top:46px;left:0;box-shadow:0 4px 24px #0003}@keyframes pop{0%{opacity:0;transform:scale(.95)}}.dropdown-me{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:4px;padding:8px 10px 12px;display:flex}.dropdown-name{font-weight:500}.dropdown button{border-radius:8px;align-items:center;gap:16px;width:100%;padding:10px 12px;font-size:15px;font-weight:500;display:flex}.dropdown button:hover{background:var(--hover)}.dropdown button.danger{color:var(--danger)}.search{background:var(--input-bg);height:44px;color:var(--text-secondary);border:2px solid #0000;border-radius:22px;flex:1;align-items:center;gap:10px;padding:0 8px 0 14px;transition:border-color .15s,background .15s;display:flex}.search:focus-within{border-color:var(--primary);background:var(--surface);color:var(--primary)}.search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1}.search-clear{color:var(--text-secondary);place-items:center;display:grid;transform:scale(.8)}.chat-list{flex:1;padding:0 8px 8px;overflow-y:auto}.list-title{color:var(--text-secondary);padding:12px 10px 6px;font-size:14px;font-weight:500}.list-empty{text-align:center;color:var(--text-secondary);place-items:center;padding:32px 20px;line-height:1.5;display:grid}.chat-item{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:9px;transition:background .1s;display:flex}.chat-item:hover{background:var(--hover)}.chat-item.active{background:var(--primary);color:#fff}.chat-item.active .muted,.chat-item.active .chat-item-time,.chat-item.active .chat-item-preview,.chat-item.active .accent,.chat-item.active .preview-you{color:#fff}.chat-item.active .badge{color:var(--primary);background:#fff}.chat-item.active .avatar-online{border-color:var(--primary)}.chat-item-body{flex:1;min-width:0}.chat-item-row{align-items:center;gap:8px;display:flex}.chat-item-row+.chat-item-row{margin-top:3px}.chat-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.chat-item-time{color:var(--text-secondary);align-items:center;gap:3px;font-size:12px;display:flex}.chat-item-time .ticks{color:var(--meta-out)}.chat-item.active .chat-item-time .ticks{color:#fff}.chat-item-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;overflow:hidden}.preview-you{color:var(--text)}.badge{background:var(--online);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 7px;font-size:13px;font-weight:500;display:grid}.avatar{color:#fff;-webkit-user-select:none;user-select:none;background-image:linear-gradient(#ffffff26,#0000000d);border-radius:50%;flex-shrink:0;place-items:center;font-weight:500;display:grid;position:relative}.avatar-online{background:var(--online);border:2px solid var(--surface);border-radius:50%;width:14px;height:14px;position:absolute;bottom:1px;right:1px}.chat-area{background-color:var(--bg);background-image:radial-gradient(circle at 20px 20px, var(--pattern) 2px, transparent 3px), radial-gradient(circle at 60px 50px, var(--pattern) 1.5px, transparent 2.5px), var(--chat-bg);background-size:80px 80px,80px 80px,cover;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chat-empty{justify-content:center;align-items:center}.chat-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 16px 0 20px;display:flex}.back-btn{margin-left:-8px;display:none}.chat-header-info{min-width:0}.chat-header-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.chat-header-status{color:var(--text-secondary);font-size:14px}.messages{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 16px;display:flex}.date-sep{z-index:1;text-align:center;margin:8px 0;position:sticky;top:8px}.no-messages{background:var(--pill-bg);color:#fff;text-align:center;border-radius:20px;align-self:center;max-width:260px;margin:auto 0;padding:16px 20px;font-size:14px;line-height:1.4}.no-messages-title{margin-bottom:6px;font-size:16px;font-weight:500}.msg{margin-bottom:6px;display:flex}.msg.tail{margin-bottom:14px}.msg.out{justify-content:flex-end}.bubble{background:var(--bubble-in);min-width:0;max-width:480px;box-shadow:var(--shadow);border-radius:15px;padding:6px 8px 6px 10px;font-size:15.5px;line-height:1.35;position:relative}.msg.out .bubble{background:var(--bubble-out)}.msg.in.tail .bubble{border-bottom-left-radius:4px}.msg.out.tail .bubble{border-bottom-right-radius:4px}.bubble-text{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.meta-spacer{width:40px;height:1px;display:inline-block}.meta-spacer.with-ticks{width:60px}.meta-spacer.with-edited{width:102px}.meta-spacer.with-ticks.with-edited{width:122px}.meta{color:var(--meta-in);white-space:nowrap;align-items:center;gap:3px;font-size:12px;display:flex;position:absolute;bottom:4px;right:8px}.msg.out .meta{color:var(--meta-out)}.composer{flex-shrink:0;padding:0 16px 16px}.composer-error{background:var(--surface);max-width:728px;color:var(--danger);border-radius:10px;margin:0 auto 8px;padding:6px 12px;font-size:14px}.composer-row{align-items:flex-end;gap:8px;max-width:728px;margin:0 auto;display:flex}.composer-input{background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:16px 16px 4px;flex:1;align-items:flex-end;gap:8px;padding:14px 16px 14px 10px;display:flex;position:relative}.composer-editable{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;flex:1;min-width:0;min-height:1.35em;max-height:200px;font-size:16px;line-height:1.35;overflow-y:auto}.composer-editable:empty:before{content:attr(data-placeholder);color:var(--text-secondary);pointer-events:none}.emoji{vertical-align:-.3em;object-fit:contain;-webkit-user-select:text;user-select:text;width:1.25em;height:1.25em;margin:0 .05em;display:inline-block}.send-btn{background:var(--surface);width:54px;height:54px;color:var(--primary);box-shadow:var(--shadow);border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.send-btn:hover:not(:disabled){background:var(--primary);color:#fff}.send-btn:disabled{color:var(--text-secondary);cursor:default}.msg-content{align-items:flex-end;gap:6px;min-width:0;max-width:85%;display:flex;position:relative}.msg.out .msg-content{flex-direction:row-reverse}.reactions-row{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.reaction-chip{background:color-mix(in srgb, var(--primary) 14%, transparent);height:28px;color:var(--primary);border-radius:14px;align-items:center;gap:4px;padding:0 9px 0 6px;font-size:14px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.msg.out .reaction-chip{background:var(--chip-out-bg);color:var(--chip-out-text)}.reaction-chip:active{transform:scale(.92)}.reaction-chip.mine,.msg.out .reaction-chip.mine{background:var(--primary);color:#fff}.msg.out .reaction-chip.mine{background:var(--chip-out-text);color:var(--bubble-out)}.reaction-emoji{font-size:17px;line-height:1}.reaction-chip:not(:has(.reaction-count)){padding-right:6px}.meta.static{align-self:flex-end;margin-left:auto;padding-left:8px;position:static}.bubble.jumbo{box-shadow:none;padding:0;background:0 0!important}.bubble.jumbo .bubble-text{line-height:1.15;display:block}.bubble.jumbo .emoji{vertical-align:middle;width:1em;height:1em;margin:0 .04em}.bubble.jumbo-1 .bubble-text{font-size:64px}.bubble.jumbo-2 .bubble-text{font-size:52px}.bubble.jumbo-3 .bubble-text{font-size:42px}.bubble.jumbo .meta.static{background:var(--pill-bg);color:#fff;border-radius:10px;padding:2px 8px}.bubble.jumbo .reaction-chip{background:var(--surface);box-shadow:var(--shadow)}.bubble.jumbo .reaction-chip.mine{background:var(--primary)}.emoji-toggle{height:22px;color:var(--text-secondary);flex-shrink:0;place-items:center;transition:color .15s;display:grid}.emoji-toggle:hover,.emoji-toggle.active{color:var(--primary)}.emoji-picker{z-index:10;background:var(--surface);transform-origin:0 100%;border-radius:16px;flex-direction:column;width:360px;max-width:calc(100vw - 16px);height:380px;animation:.12s ease-out pop;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 4px 24px #0003}.emoji-title{color:var(--text-secondary);padding:12px 14px 4px;font-size:14px;font-weight:500}.emoji-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));align-content:start;padding:4px 8px;display:grid;overflow-y:auto}.emoji-btn{border-radius:8px;height:40px;font-size:26px;line-height:1;transition:background .1s}.emoji-btn:hover{background:var(--hover)}.emoji-btn .emoji{vertical-align:middle;width:30px;height:30px;margin:0}.emoji-tab .emoji{vertical-align:middle;width:22px;height:22px;margin:0}.reaction-emoji .emoji{vertical-align:middle;width:18px;height:18px;margin:0}.emoji-tabs{border-top:1px solid var(--border);justify-content:space-around;padding:6px;display:flex}.emoji-tab{filter:grayscale();opacity:.6;border-radius:8px;width:36px;height:36px;font-size:20px;transition:all .15s}.emoji-tab:hover{opacity:1}.emoji-tab.active{filter:none;opacity:1;background:var(--hover)}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar-upload{border-radius:50%;position:relative}.avatar-upload-overlay{color:#fff;opacity:0;background:#00000059;border-radius:50%;place-items:center;transition:opacity .15s;display:grid;position:absolute;inset:0}.avatar-upload:hover .avatar-upload-overlay,.avatar-upload:disabled .avatar-upload-overlay{opacity:1}.spinner.light{border-color:#fff #ffffff59 #ffffff59}.photo-actions{gap:4px;margin-top:-8px;display:flex}.photo-actions .btn-link{padding:6px 10px}.btn-link.danger{color:var(--danger)}.small-text{margin-top:-6px;font-size:13px}.bubble.media{padding:0;overflow:hidden}.bubble.media .bubble-body{padding:6px 8px 6px 10px}.bubble.with-file{min-width:240px}.bubble.with-file .bubble-body{margin-top:4px}.media-box{background:#0000001f;max-width:100%;position:relative}.media-box .media{object-fit:cover;width:100%;height:100%;display:block}.media-box img.media{cursor:zoom-in}.media-box video.media{object-fit:contain;background:#000}.meta.overlay{pointer-events:none;background:#00000073;border-radius:10px;padding:2px 7px;bottom:8px;right:8px;color:#fff!important}.meta.overlay.video{top:8px;bottom:auto}.file-row{min-width:0;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.file-icon{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:13px;font-weight:700;display:grid}.msg.out .file-icon{background:var(--meta-out);color:var(--bubble-out)}a.file-row:hover .file-icon{filter:brightness(1.1)}.file-info{flex-direction:column;min-width:0;display:flex}.file-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.file-size{color:var(--meta-in);font-size:13px}.msg.out .file-size{color:var(--meta-out)}.audio-box{flex-direction:column;gap:8px;display:flex}.audio-box audio{width:260px;max-width:100%;height:36px}.progress-ring{color:#fff;background:#00000073;border-radius:50%;place-items:center;display:grid;position:relative}.progress-ring svg{transition:stroke-dashoffset .2s;position:absolute;inset:0}.progress-ring svg circle{transition:stroke-dashoffset .2s}.progress-ring>svg+svg{width:20px;height:20px;position:static}.file-icon .progress-ring{background:0 0;width:100%;height:100%}.media-progress{background:#0003;place-items:center;display:grid;position:absolute;inset:0}.msg.pending .bubble{opacity:.95}.upload-error{color:var(--danger);align-items:center;gap:8px;padding:4px 10px 6px;font-size:14px;display:flex}.upload-error .btn-link{padding:0;font-size:14px}.attach-btn{height:22px;color:var(--text-secondary);flex-shrink:0;place-items:center;transition:color .15s;display:grid;transform:rotate(45deg)}.attach-btn:hover{color:var(--primary)}.drop-zone{z-index:20;background:color-mix(in srgb, var(--bg) 60%, transparent);pointer-events:none;padding:16px;position:absolute;inset:0}.drop-zone-inner{border:3px dashed var(--primary);height:100%;color:var(--primary);background:var(--surface);border-radius:16px;place-items:center;font-size:20px;font-weight:500;display:grid}.attach-dialog{max-width:440px}.attach-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-bottom:20px;display:grid}.attach-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.attach-thumb,.attach-file{position:relative}.attach-thumb{aspect-ratio:1;background:var(--hover);border-radius:10px;overflow:hidden}.attach-thumb img,.attach-thumb video{object-fit:cover;width:100%;height:100%;display:block}.attach-file{padding-right:36px}.attach-remove{color:#fff;background:#00000080;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:4px;right:4px}.attach-remove svg{width:16px;height:16px}.attach-file .attach-remove{background:var(--hover);color:var(--text-secondary);top:10px}.attach-caption{margin-bottom:4px}.attach-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.attach-actions .btn-primary{width:auto;height:44px;padding:0 28px}.viewer{z-index:100;background:#000000e6;place-items:center;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.viewer-img{object-fit:contain;border-radius:4px;max-width:92vw;max-height:86vh}.viewer-bar{color:#fff;align-items:center;gap:4px;padding:8px 12px;display:flex;position:absolute;top:0;left:0;right:0}.viewer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.viewer-btn{color:#fff}.viewer-btn:hover{background:#ffffff1f}.modal-overlay{z-index:50;background:#00000059;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border-radius:16px;flex-direction:column;width:100%;max-width:420px;max-height:100%;animation:.15s ease-out pop;display:flex;overflow:hidden;box-shadow:0 8px 40px #0000004d}.modal-header{justify-content:space-between;align-items:center;padding:12px 12px 4px 24px;display:flex}.modal-header h2{margin:0;font-size:20px;font-weight:500}.modal-body{padding:12px 24px 4px;overflow-y:auto}.modal-footer{padding:8px 24px 20px}.profile-hero{flex-direction:column;align-items:center;gap:14px;margin-bottom:24px;display:flex}.color-picker{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.swatch{outline-offset:2px;border-radius:50%;outline:2px solid #0000;width:28px;height:28px;transition:outline-color .15s,transform .15s}.swatch:hover{transform:scale(1.1)}.swatch.selected{outline-color:var(--primary)}.section-title{color:var(--primary);margin:8px 0 16px;font-size:15px;font-weight:500}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-bottom:24px;display:grid}.theme-card{border:2px solid var(--border);color:var(--text);font:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px;font-size:13px;display:flex}.theme-card:hover{background:var(--hover)}.theme-card.active{border-color:var(--primary)}.theme-preview{border-radius:8px;width:100%;height:52px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7f7f7f40}.theme-preview i{border-radius:6px;width:46%;height:12px;position:absolute;top:8px;left:8px}.theme-preview i.out{width:52%;top:26px;left:auto;right:8px}.theme-preview b{border-radius:50%;width:10px;height:10px;position:absolute;bottom:6px;left:8px}.theme-preview-auto{display:flex}.theme-preview-auto div{flex:1}@media (width<=760px),(hover:none) and (height<=520px){.sidebar{border-right:none;width:100%;max-width:none}.messenger.chat-open .sidebar,.messenger:not(.chat-open) .chat-area{display:none}.back-btn{display:grid}.composer{padding:0 8px 8px}.messages-inner{padding:8px}}.file-icon:has(.file-thumb){background:var(--hover);border-radius:10px;overflow:hidden}.file-thumb,.file-thumb img,.file-thumb video{object-fit:cover;width:100%;height:100%;display:block}.chat-header-main{text-align:left;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;margin-left:-6px;padding:4px 6px;display:flex}.chat-header-main:hover{background:var(--hover)}.chat-type-icon{vertical-align:-2px;color:var(--text-secondary);margin-right:4px;display:inline-flex}.chat-item.active .chat-type-icon{color:#fff}.msg-avatar{flex-shrink:0;align-self:flex-end;width:34px;margin-right:8px}.msg-sender{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.msg-sender-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.msg-badge{color:var(--meta-in);white-space:nowrap;font-size:13px;font-weight:400}.bubble.media .bubble-head{padding:6px 10px 4px}.system-msg{text-align:center;margin:6px 0 12px}.system-msg .pill{max-width:90%;font-size:13.5px;font-weight:500}.composer-locked{text-align:center;background:var(--surface);max-width:728px;color:var(--text-secondary);box-shadow:var(--shadow);border-radius:16px;margin:0 auto;padding:16px}.voice{align-items:center;gap:10px;min-width:220px;padding:2px 0;display:flex}.voice-btn{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.msg.out .voice-btn{background:var(--meta-out);color:var(--bubble-out)}.voice-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.waveform{cursor:pointer;align-items:flex-end;gap:2px;height:26px;display:flex}.waveform span{background:color-mix(in srgb, var(--primary) 35%, transparent);border-radius:2px;flex:1;min-width:2px;max-width:3px}.waveform span.played{background:var(--primary)}.msg.out .waveform span{background:color-mix(in srgb, var(--meta-out) 45%, transparent)}.msg.out .waveform span.played{background:var(--meta-out)}.voice-time{color:var(--meta-in);font-size:13px}.msg.out .voice-time{color:var(--meta-out)}.bubble.round-bubble{box-shadow:none;padding:0;background:0 0!important}.bubble.round-bubble .meta{background:var(--pill-bg);color:#fff;border-radius:10px;padding:2px 8px}.round{color:#fff;background:#000;border-radius:50%;width:240px;height:240px;display:block;position:relative;overflow:hidden}.round video{object-fit:cover;width:100%;height:100%;display:block}.round-ring{color:#fff;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.round-play{background:#00000073;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.round-time{background:#00000073;border-radius:10px;padding:2px 8px;font-size:12px;position:absolute;bottom:14px;left:50%;translate:-50%}.record-btn{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.record-btn.recording{background:var(--primary);color:#fff;box-shadow:0 0 0 calc(var(--level,0) * 14px) color-mix(in srgb, var(--primary) 25%, transparent);transition:box-shadow .1s,transform .15s;transform:scale(1.15)}.recording-bar{white-space:nowrap;flex:1;align-items:center;gap:10px;min-height:22px;display:flex;overflow:hidden}.rec-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1s infinite blink}@keyframes blink{50%{opacity:.2}}.rec-time{font-variant-numeric:tabular-nums;min-width:56px}.rec-hint{text-align:center;color:var(--text-secondary);text-overflow:ellipsis;flex:1;overflow:hidden}.recording-bar.cancel .rec-hint{color:var(--danger);font-weight:500}.round-recording{z-index:15;background:color-mix(in srgb, var(--bg) 55%, transparent);pointer-events:none;place-items:center;display:grid;position:absolute;inset:56px 0 0}.round-recording-circle{color:var(--primary);background:#000;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 8px 40px #00000059}.round-recording-circle video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.round-recording-circle svg{width:100%;height:100%;position:absolute;inset:0}.group-dialog{max-width:440px;height:min(640px,100%)}.group-dialog .modal-body,.group-dialog form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-header h2{flex:1}.user-picker{flex-direction:column;flex:1;min-height:0;display:flex}.picker-chips{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:8px;display:flex}.picker-chip{background:var(--hover);border-radius:15px;align-items:center;gap:6px;height:30px;padding:0 8px 0 2px;font-size:14px;display:inline-flex}.picker-chip svg{width:14px;height:14px;color:var(--text-secondary)}.picker-chip:not(.static):hover{background:color-mix(in srgb, var(--danger) 15%, var(--hover))}.picker-search{min-width:120px;color:var(--text-secondary);flex:1;align-items:center;gap:8px;padding:4px;display:flex}.picker-search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1}.picker-list{flex:1;min-height:160px;margin:4px -12px 0;padding:0 4px;overflow-y:auto}.picker-row{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:7px 8px;display:flex}.picker-row:hover{background:var(--hover)}.picker-check{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:all .15s}.picker-check.on{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--surface)}.picker-info{flex-direction:column;min-width:0;display:flex}.picker-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.picker-status{color:var(--text-secondary);font-size:14px}.group-hero{align-items:center;gap:16px;margin:4px 0 8px;display:flex}.group-hero .field{flex:1;margin:0}.group-photo-empty,.group-photo-preview{background:var(--primary);color:#fff;object-fit:cover;border-radius:50%;flex-shrink:0;place-items:center;width:72px;height:72px;display:grid}.group-members-preview{flex-wrap:wrap;gap:6px;display:flex}.chat-info{max-width:440px;height:min(760px,100%)}.info-topbar{align-items:center;gap:4px;padding:8px 8px 0 12px;display:flex}.info-topbar-title{flex:1;font-size:18px;font-weight:500}.info-scroll{flex:1;padding-bottom:12px;overflow-y:auto}.info-error{width:auto;margin:8px 16px}.info-hero{text-align:center;flex-direction:column;align-items:center;padding:0 16px 16px;display:flex}.info-title{margin-top:12px;font-size:20px;font-weight:600}.info-subtitle{color:var(--text-secondary);margin-top:2px;font-size:14px}.info-actions{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;width:100%;margin-top:16px;display:grid}.info-actions button{background:var(--hover);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:13px;font-weight:500;display:flex}.info-actions button:hover{background:color-mix(in srgb, var(--primary) 12%, var(--hover))}.info-actions button.danger{color:var(--danger)}.info-section{border-top:8px solid var(--hover);padding:6px 8px}.info-row{align-items:center;gap:24px;padding:11px 12px;font-size:15px;display:flex}.info-row-icon{width:24px;color:var(--text-secondary);place-items:center;display:grid}.about-row{white-space:pre-wrap;overflow-wrap:anywhere;flex-direction:column;padding:8px 12px;display:flex}.about-row small{color:var(--text-secondary);margin-top:2px;font-size:13px}.members-head{align-items:center;gap:24px;padding:6px 4px 6px 12px;font-size:14px;font-weight:600;display:flex}.members-head>span:nth-child(2){flex:1}.member-row{text-align:left;border-radius:12px;align-items:center;gap:14px;width:100%;padding:7px 10px;display:flex}.member-row:not(:disabled):hover,.member.open .member-row{background:var(--hover)}.member-row:disabled{cursor:default}.member-info{flex-direction:column;flex:1;min-width:0;display:flex}.member-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.member-status{color:var(--text-secondary);font-size:14px}.member-badge{color:var(--text-secondary);white-space:nowrap;font-size:13.5px}.member-badge.tag{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:6px;padding:1px 8px}.member-menu{background:var(--hover);border-radius:10px;flex-direction:column;margin:2px 10px 8px 70px;display:flex;overflow:hidden}.member-menu>button{text-align:left;padding:10px 14px;font-size:14.5px}.member-menu>button:hover{background:color-mix(in srgb, var(--primary) 10%, var(--hover))}.member-menu>button.danger{color:var(--danger)}.tag-form{align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.tag-form input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 0}.info-edit,.info-add{flex-direction:column;padding:8px 20px 12px;display:flex}.info-add{min-height:420px}.info-add .btn-primary,.info-edit .btn-primary{margin-top:12px}.info-edit .profile-hero{margin-bottom:16px}.toggle-row{cursor:pointer;align-items:center;gap:12px;padding:10px 2px;display:flex}.toggle-row>span:first-child{flex-direction:column;flex:1;display:flex}.toggle-row small{color:var(--text-secondary);font-size:13px}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:var(--border);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-row input:checked+.switch{background:var(--primary)}.toggle-row input:checked+.switch:after{transform:translate(16px)}.toggle-row input:focus-visible+.switch{outline:2px solid var(--primary);outline-offset:2px}.field-hint.left{text-align:left;margin:0 2px 8px}@media (width<=760px),(hover:none) and (height<=520px){.chat-info,.group-dialog{max-width:none;height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0}:is(.modal-overlay:has(.chat-info),.modal-overlay:has(.group-dialog)){padding:0}}.msg-content{cursor:default}.msg.menu-open .bubble{filter:brightness(.92)}.msg-menu{z-index:60;-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;animation:.12s ease-out pop;display:flex;position:fixed}.menu-reactions{background:var(--surface);border-radius:24px;align-self:flex-start;align-items:center;gap:2px;padding:4px 6px;display:flex;box-shadow:0 4px 24px #00000040}.menu-reactions.expanded{border-radius:18px;grid-template-columns:repeat(6,38px);display:grid}.menu-reactions button{border-radius:50%;place-items:center;width:38px;height:38px;transition:transform .12s,background .12s;display:grid}.menu-reactions button:hover{transform:scale(1.18)}.menu-reactions button.active{background:color-mix(in srgb, var(--primary) 20%, transparent)}.menu-reactions .emoji{vertical-align:middle;width:28px;height:28px;margin:0}.menu-reactions .menu-expand{width:30px;height:30px;color:var(--text-secondary);background:var(--hover);margin-left:2px}.menu-reactions .menu-expand:hover{color:var(--text);transform:none}.menu-actions{background:var(--surface);border-radius:12px;align-self:flex-start;min-width:210px;padding:6px;box-shadow:0 4px 24px #00000040}.menu-actions button{text-align:left;border-radius:8px;align-items:center;gap:18px;width:100%;padding:8px 12px;font-size:15px;font-weight:500;display:flex}.menu-actions button svg{color:var(--text-secondary);flex-shrink:0}.menu-actions button:hover{background:var(--hover)}.menu-actions button.danger,.menu-actions button.danger svg{color:var(--danger)}.bubble-head{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.forwarded{color:var(--primary);font-size:14px;line-height:1.3}.msg.out .forwarded{color:var(--meta-out)}.reply-quote{text-align:left;border-left:3px solid var(--quote-color,var(--primary));background:color-mix(in srgb, var(--quote-color,var(--primary)) 12%, transparent);border-radius:6px;flex-direction:column;min-width:0;max-width:100%;margin:2px 0;padding:3px 8px 4px 10px;font-size:14px;line-height:1.3;display:flex}.reply-quote:hover{background:color-mix(in srgb, var(--quote-color,var(--primary)) 20%, transparent)}.msg.out .reply-quote{--quote-color:var(--meta-out)}.reply-quote.deleted{color:var(--text-secondary);--quote-color:var(--text-secondary);font-style:italic}.reply-quote-name{color:var(--quote-color,var(--primary));font-weight:600}.reply-quote-text{white-space:nowrap;text-overflow:ellipsis;opacity:.9;overflow:hidden}.msg.highlight .bubble,.system-msg.highlight .pill{animation:1.6s ease-out flash}@keyframes flash{0%,40%{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 60%, transparent)}to{box-shadow:var(--shadow)}}.reply-bar{background:var(--surface);max-width:728px;box-shadow:var(--shadow);color:var(--primary);border-radius:14px;align-items:center;gap:12px;margin:0 auto 6px;padding:6px 6px 6px 14px;display:flex}.reply-bar-main{text-align:left;border-left:3px solid var(--primary);flex-direction:column;flex:1;min-width:0;padding-left:10px;display:flex}.reply-bar-title{font-size:14px;font-weight:600}.reply-bar-text{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.pinned-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:4px 8px 4px 16px;display:flex}.pinned-main{text-align:left;flex:1;align-items:stretch;gap:10px;min-width:0;padding:4px 0;display:flex}.pinned-line{background:var(--primary);border-radius:2px;width:3px}.pinned-info{flex-direction:column;min-width:0;display:flex}.pinned-title{color:var(--primary);font-size:14px;font-weight:600}.pinned-text{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.msg.selecting{cursor:pointer;border-radius:10px;align-items:center;margin-left:-6px;margin-right:-6px;padding:2px 6px}.msg.selecting .msg-content{pointer-events:none}.msg.selected{background:color-mix(in srgb, var(--primary) 16%, transparent)}.select-check{background:#00000026;border:2px solid #fffc;border-radius:50%;flex-shrink:0;width:22px;height:22px;margin-right:10px;transition:all .15s}.select-check.on{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--surface)}.msg.out .select-check{margin-right:auto}.selection-bar{gap:8px;padding-left:8px}.selection-count{flex:1;font-size:16px;font-weight:600}.selection-btn{height:36px;color:var(--primary);border-radius:18px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.selection-btn:hover{background:var(--hover)}.selection-btn.danger{color:var(--danger)}@media (width<=760px),(hover:none) and (height<=520px){.selection-btn span{display:none}}.toast{z-index:30;color:#fff;pointer-events:none;text-align:center;background:#000000bf;border-radius:10px;max-width:90%;padding:8px 16px;font-size:14px;animation:.15s ease-out fade;position:absolute;bottom:96px;left:50%;translate:-50%}.composer-error{cursor:pointer;white-space:pre-line}.confirm-dialog{max-width:340px}.confirm-body{padding:22px 24px 8px}.confirm-body h2{margin:0 0 10px;font-size:19px;font-weight:600}.confirm-body p{color:var(--text-secondary);margin:0;line-height:1.4}.confirm-actions{justify-content:flex-end;gap:4px;padding:8px 12px 12px;display:flex}.confirm-actions .btn-link{text-transform:uppercase;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:600}.confirm-actions .btn-link:hover{background:var(--hover);text-decoration:none}.forward-search{border-bottom:1px solid var(--border);flex:none;padding-bottom:8px}.chat-pin{color:var(--text-secondary);place-items:center;display:grid}.chat-item.active .chat-pin{color:#fff}.chat-header-actions{gap:2px;margin-left:auto;display:flex}.chat-header-actions .icon-btn:disabled{opacity:.4;cursor:default}.bubble.call-bubble{align-items:center;gap:14px;min-width:220px;padding:8px 8px 8px 12px;display:flex}.call-info{flex-direction:column;flex:1;min-width:0;display:flex}.call-title{font-weight:500}.call-sub{color:var(--meta-in);align-items:center;gap:4px;font-size:13px;display:flex}.msg.out .call-sub{color:var(--meta-out)}.call-sub svg{color:var(--online)}.call-sub.failed svg{color:var(--danger)}.call-sub .ticks{margin-left:2px}.call-again{width:40px;height:40px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s;display:grid}.msg.out .call-again{color:var(--meta-out)}.call-again:hover{background:color-mix(in srgb, var(--primary) 14%, transparent)}.call-screen{z-index:200;color:#fff;background:#111;flex-direction:column;justify-content:space-between;align-items:center;animation:.2s ease-out fade;display:flex;position:fixed;inset:0;overflow:hidden}.call-screen.hidden{display:none}.call-bg{position:absolute;inset:0}.call-bg img{object-fit:cover;filter:blur(40px)brightness(.55);width:100%;height:100%;transform:scale(1.2)}.call-bg:after{content:"";background:linear-gradient(#00000040,#0000008c);position:absolute;inset:0}.call-remote{object-fit:contain;opacity:0;background:#000;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}.call-screen.has-video .call-remote{opacity:1}.call-top{z-index:2;align-self:stretch;min-height:64px;padding:12px;display:flex;position:relative}.call-icon-btn{color:#fff;background:#ffffff1f;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.call-icon-btn:hover{background:#ffffff38}.call-peer{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:0 16px;display:flex;position:relative}.call-peer .avatar{box-shadow:0 8px 40px #0006}.call-peer.compact{background:#0006;border-radius:14px;gap:2px;padding:6px 16px;position:absolute;top:16px;left:50%;translate:-50%}.call-name{font-size:26px;font-weight:600}.call-peer.compact .call-name{font-size:16px}.call-status{opacity:.85;font-variant-numeric:tabular-nums;font-size:16px}.call-status.pulse{animation:1.6s infinite blink}.call-local{z-index:3;aspect-ratio:4/3;object-fit:cover;background:#000;border:2px solid #ffffff26;border-radius:14px;width:180px;position:absolute;top:16px;right:16px;transform:scaleX(-1);box-shadow:0 6px 24px #00000073}.call-local.screen{object-fit:contain;transform:none}.call-controls{z-index:2;flex-wrap:wrap;justify-content:center;gap:28px;padding:24px 16px 40px;display:flex;position:relative}.call-btn-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;width:78px;font-size:13px;display:flex}.call-btn{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border-radius:50%;place-items:center;width:60px;height:60px;transition:background .15s,transform .1s;display:grid}.call-btn:hover{background:#ffffff47}.call-btn:active{transform:scale(.94)}.call-btn.off{color:#222;background:#fff}.call-btn.danger{background:#e53935}.call-btn.danger:hover{background:#f44336}.call-btn.accept{background:#43a047;animation:1.2s infinite ring}.call-btn.accept:hover{background:#4caf50}@keyframes ring{0%,to{box-shadow:0 0 #43a04799}60%{box-shadow:0 0 0 16px #43a04700}}.call-bar{top:calc(10px + env(safe-area-inset-top));z-index:190;color:#fff;background:#43a047;border-radius:22px;align-items:center;gap:4px;max-width:calc(100% - 20px);padding:4px 4px 4px 14px;display:flex;position:fixed;left:50%;translate:-50%;box-shadow:0 4px 20px #0000004d}.call-bar-main{white-space:nowrap;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:500;display:flex}.call-bar-main>span:nth-child(2){text-overflow:ellipsis;overflow:hidden}.call-bar-hint{opacity:.8;font-weight:400}.call-bar-dot{background:#fff;border-radius:50%;width:8px;height:8px;animation:1.2s infinite blink}.call-bar-end{color:#fff;background:#e53935;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.app-toast{z-index:250;color:#fff;text-align:center;background:#000000d1;border-radius:12px;max-width:calc(100% - 32px);padding:10px 18px;font-size:14px;animation:.15s ease-out fade;position:fixed;bottom:32px;left:50%;translate:-50%}@media (width<=760px),(hover:none) and (height<=520px){.call-local{width:110px;top:76px;right:10px}.call-controls{gap:14px;padding-bottom:28px}.call-btn-wrap{width:66px}.call-bar-hint{display:none}}.admin-panel{z-index:150;background:var(--bg);flex-direction:column;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.admin-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 16px 0 8px;display:flex}.admin-title{flex:1;align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.admin-title svg{color:var(--primary)}.admin-tabs{background:var(--surface);border-bottom:1px solid var(--border);gap:4px;padding:8px 16px 0;display:flex}.admin-tabs button{color:var(--text-secondary);border-bottom:3px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:500}.admin-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-body{flex:1;width:100%;max-width:860px;margin:0 auto;padding:16px;overflow-y:auto}.admin-search{background:var(--input-bg);height:44px;color:var(--text-secondary);border:2px solid #0000;border-radius:22px;align-items:center;gap:10px;padding:0 14px;display:flex}.admin-search:focus-within{border-color:var(--primary);background:var(--surface)}.admin-search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1}.admin-count{color:var(--text-secondary);margin:12px 4px 8px;font-size:14px}.admin-list{flex-direction:column;gap:6px;display:flex}.admin-user{background:var(--surface);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:14px;padding:10px 12px;display:flex}.admin-user.banned{box-shadow:inset 3px 0 0 var(--danger), var(--shadow)}.admin-user-info{flex:1;min-width:0}.admin-user-name{align-items:center;gap:8px;font-weight:600;display:flex}.admin-user-sub{color:var(--text-secondary);font-size:13.5px}.admin-ban-info{color:var(--danger);overflow-wrap:anywhere;margin-top:4px;font-size:13.5px}.admin-badge{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:6px;padding:1px 8px;font-size:12px;font-weight:600}.admin-actions{flex-shrink:0;gap:6px;display:flex}.admin-btn{background:var(--hover);white-space:nowrap;border-radius:10px;height:34px;padding:0 12px;font-size:14px;font-weight:500}.admin-btn:hover{filter:brightness(.95)}.admin-btn.warn{color:#e67e22}.admin-btn.danger{color:var(--danger)}.admin-log-entry{background:var(--surface);box-shadow:var(--shadow);border-left:3px solid var(--text-secondary);border-radius:12px;padding:10px 14px}.admin-log-entry.ban{border-left-color:#e67e22}.admin-log-entry.delete{border-left-color:var(--danger)}.admin-log-entry.unban{border-left-color:var(--online)}.admin-log-reason{overflow-wrap:anywhere;margin-top:2px}.admin-log-date{color:var(--text-secondary);margin-top:2px;font-size:13px}.reason-dialog{max-width:420px}.reason-dialog .field{margin:16px 0 4px}.dropdown button.accent-item{color:var(--primary)}.info-note{color:var(--text-secondary);margin-top:10px;font-size:13.5px}@media (width<=760px),(hover:none) and (height<=520px){.admin-user{flex-wrap:wrap}.admin-actions{justify-content:flex-end;width:100%}.admin-header .btn-link{display:none}}.admin-group-desc{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.admin-log-entry.group_delete{border-left-color:var(--danger)}.admin-body:has(.group-viewer){flex-direction:column;max-width:none;padding:0;display:flex}.group-viewer{flex-direction:column;flex:1;min-height:0;display:flex}.viewer-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:8px 16px 8px 8px;display:flex}.viewer-header-info{flex:1;min-width:0}.viewer-header-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.viewer-header-sub{color:var(--text-secondary);font-size:13.5px}.admin-btn.active{background:color-mix(in srgb, var(--primary) 18%, var(--hover));color:var(--primary)}.viewer-main{flex:1;min-height:0;display:flex}.viewer-messages{background-color:var(--bg);background-image:radial-gradient(circle at 20px 20px, var(--pattern) 2px, transparent 3px), radial-gradient(circle at 60px 50px, var(--pattern) 1.5px, transparent 2.5px), var(--chat-bg);background-size:80px 80px,80px 80px,cover;flex:1;min-width:0;overflow-y:auto}.viewer-messages .msg-content{cursor:default}.viewer-more{cursor:pointer;border:none;align-self:center;margin:4px 0 12px}.viewer-members{background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;width:280px;padding:4px 8px;overflow-y:auto}.viewer-member{align-items:center;gap:10px;padding:6px 4px;display:flex}.viewer-member-info{flex:1;min-width:0}.viewer-member-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.viewer-member-sub{color:var(--text-secondary);font-size:13px}.viewer-footer{text-align:center;color:var(--text-secondary);background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding:10px 16px;font-size:14px}@media (width<=760px),(hover:none) and (height<=520px){.viewer-members{z-index:5;position:absolute;top:0;bottom:0;right:0;box-shadow:-6px 0 24px #00000040}.viewer-main{position:relative}}.delete-chat-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.delete-chat-head h2{margin:0}.check-row{cursor:pointer;align-items:center;gap:12px;margin-top:18px;font-size:15px;display:flex}.check-row input{opacity:0;pointer-events:none;position:absolute}.check-box{border:2px solid var(--text-secondary);border-radius:5px;flex-shrink:0;place-items:center;width:20px;height:20px;transition:all .15s;display:grid}.check-row input:checked+.check-box{background:var(--primary);border-color:var(--primary)}.check-row input:checked+.check-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;margin-top:-2px;transform:rotate(45deg)}.check-row input:focus-visible+.check-box{outline:2px solid var(--primary);outline-offset:2px}.archive-avatar{color:#fff;background:#9aa5b1;border-radius:50%;flex-shrink:0;place-items:center;width:54px;height:54px;display:grid}.archive-row .chat-item-name{font-weight:600}.badge.muted-badge{background:#9aa5b1}.archive-back{width:100%;color:var(--text);align-items:center;gap:16px;padding:10px 10px 12px;font-size:17px;font-weight:600;display:flex}.archive-back svg{color:var(--text-secondary)}.avatar.ring-unseen{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--primary)}.avatar.ring-seen{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--border)}.chat-item-avatar.story-link{cursor:pointer;border-radius:50%;display:block}.chat-item.active .avatar.ring-unseen,.chat-item.active .avatar.ring-seen{box-shadow:0 0 0 2px var(--primary), 0 0 0 4px #fff}.stories-bar{border-bottom:1px solid var(--border);scrollbar-width:none;gap:6px;margin-bottom:4px;padding:6px 4px 10px;display:flex;overflow-x:auto}.stories-bar::-webkit-scrollbar{display:none}.story-tile{flex-shrink:0;position:relative}.story-tile-main{border-radius:12px;flex-direction:column;align-items:center;gap:6px;width:76px;padding:6px 0 2px;display:flex}.story-tile-main:hover{background:var(--hover)}.story-tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:74px;font-size:11.5px;overflow:hidden}.story-tile-name .emoji{width:14px;height:14px}.story-add{background:var(--primary);color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:42px;left:44px}.story-add:hover{background:var(--primary-hover)}.story-composer{max-width:400px}.story-composer-preview{background:#000;border-radius:12px;flex:0 auto;place-items:center;height:min(40vh,380px);min-height:120px;margin:8px 24px 0;display:grid;position:relative;overflow:hidden}.story-composer-preview img,.story-composer-preview video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.story-composer-progress{background:#ffffff4d;height:4px;position:absolute;bottom:0;left:0;right:0}.story-composer-progress div{background:var(--primary);height:100%;transition:width .2s}.story-viewer{z-index:120;background:#000000f0;place-items:center;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.story-stage{color:#fff;background:#000;flex-direction:column;width:min(100vw,56.25vh);height:100%;display:flex;position:relative;overflow:hidden}@media (width>=761px){.story-stage{border-radius:14px;width:min(100vw,56.25vh - 18px);height:calc(100vh - 32px)}}.story-media{-webkit-user-select:none;user-select:none;touch-action:none;place-items:center;display:grid;position:absolute;inset:0}.story-media>img,.story-media>video{object-fit:contain;pointer-events:none;width:100%;height:100%}.story-loading{place-items:center;display:grid;position:absolute;inset:0}.story-caption{text-align:center;overflow-wrap:anywhere;background:#00000073;border-radius:10px;padding:8px 12px;font-size:15px;line-height:1.35;position:absolute;bottom:130px;left:12px;right:12px}.story-top{pointer-events:none;background:linear-gradient(#00000073,#0000);padding:10px 10px 24px;position:relative}.story-top button{pointer-events:auto}.story-bars{gap:4px;margin-bottom:10px;display:flex}.story-bar{background:#ffffff59;border-radius:2px;flex:1;height:3px;overflow:hidden}.story-bar div{background:#fff;height:100%}.story-head{align-items:center;gap:10px;display:flex}.story-head-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.story-head-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.story-head-time{opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.story-icon{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.story-icon:hover{background:#ffffff26}.story-bottom{background:linear-gradient(#0000,#00000080);flex-direction:column;gap:10px;margin-top:auto;padding:24px 12px 14px;display:flex;position:relative}.story-reactions{justify-content:center;gap:6px;display:flex}.story-reactions button{aspect-ratio:1;background:#ffffff1f;border-radius:50%;flex:0 42px;place-items:center;transition:transform .12s,background .12s;display:grid}.story-reactions button:hover{transform:scale(1.12)}.story-reactions button.on{background:#ffffff59}.story-reactions .emoji{width:62%;height:auto}.story-reply{align-items:center;gap:6px;display:flex}.story-reply input{color:#fff;background:#00000040;border:1px solid #ffffff73;border-radius:22px;outline:none;flex:1;min-width:0;height:44px;padding:0 18px}.story-reply input::placeholder{color:#ffffffb3}.story-reply input:focus{border-color:#fff}.story-views-btn{color:#fff;background:#ffffff26;border-radius:20px;align-self:center;align-items:center;gap:8px;padding:8px 16px;font-size:15px;display:flex}.story-views-btn:hover{background:#ffffff40}.story-burst{pointer-events:none;animation:.9s ease-out forwards story-burst;position:absolute;top:50%;left:50%;translate:-50% -50%}.story-burst .emoji{width:120px;height:120px}@keyframes story-burst{0%{opacity:0;scale:.3}30%{opacity:1;scale:1.15}70%{opacity:1;scale:1}to{opacity:0;scale:1.3}}.story-views{background:var(--surface);max-height:60%;color:var(--text);border-radius:14px 14px 0 0;flex-direction:column;animation:.18s ease-out story-sheet;display:flex;position:absolute;bottom:0;left:0;right:0}@keyframes story-sheet{0%{opacity:0;translate:0 30%}}.story-views-head{justify-content:space-between;align-items:center;padding:8px 8px 4px 16px;font-weight:500;display:flex}.story-views-list{padding:0 8px 12px;overflow-y:auto}.story-view-row{border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.story-view-info{flex-direction:column;flex:1;min-width:0;font-size:14px;display:flex}.story-view-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.story-view-reaction .emoji{width:26px;height:26px}.story-quote{border-left:3px solid var(--quote-color,var(--primary));background:color-mix(in srgb, var(--quote-color,var(--primary)) 12%, transparent);color:var(--quote-color,var(--primary));border-radius:8px;align-items:center;gap:8px;padding:4px 8px 4px 4px;font-size:14px;display:flex}.msg.out .story-quote{--quote-color:var(--meta-out)}.story-quote img,.story-quote video{object-fit:cover;background:#000;border-radius:4px;width:32px;height:46px}.story-quote.deleted{color:var(--text-secondary)}.avatar.ring-close{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px #34b45a}.story-close-tag{color:#6fe08f}.story-composer .modal-body{flex:auto;min-height:120px}.privacy-options{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.privacy-option{border-radius:12px;align-items:center;gap:4px;display:flex}.privacy-option:hover{background:var(--hover)}.privacy-main{text-align:left;flex:1;align-items:center;gap:14px;min-width:0;padding:8px 10px;display:flex}.privacy-radio{border:2px solid var(--text-secondary);border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:border .12s}.privacy-option.active .privacy-radio{border:6px solid var(--primary)}.privacy-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.privacy-title{font-size:15px}.privacy-star{color:#34b45a;margin-left:6px}.privacy-sub{color:var(--text-secondary);font-size:13px}.privacy-edit{color:var(--primary);border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:13px}.privacy-edit:hover{background:color-mix(in srgb, var(--primary) 12%, transparent)}.user-picker{max-width:400px;height:min(600px,100%)}.user-picker-hint{color:var(--text-secondary);padding:0 24px 8px;font-size:14px}.user-picker-search{padding:0 16px 8px}.user-picker-search input{background:var(--input-bg);border:none;border-radius:20px;outline:none;width:100%;height:40px;padding:0 16px}.user-picker-list{flex:1;padding:0 8px;overflow-y:auto}.user-picker-row{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.user-picker-row:hover{background:var(--hover)}.user-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.user-picker-row .select-check{border-color:var(--text-secondary);background:0 0;margin:0;position:static}.user-picker-row .select-check.on{border-color:var(--primary);background:var(--primary)}@media (hover:none){.msg-content{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.msg-content img,.msg-content video{-webkit-touch-callout:none}}.btn-link:disabled{opacity:.55;cursor:default}.code-step{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.code-step .btn-primary{margin-top:8px}.code-title{margin:28px 0 8px;font-size:32px;font-weight:500}.otp{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.otp-cell{border:1px solid var(--border);background:var(--surface);width:46px;height:56px;color:var(--text);text-align:center;caret-color:var(--primary);font-variant-numeric:tabular-nums;border-radius:12px;outline:none;padding:0;font-size:24px;font-weight:500;transition:border-color .12s,box-shadow .12s}.otp-cell:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.otp-cell.filled{border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}.otp-cell:disabled{opacity:.6}@media (width<=380px){.otp{gap:6px}.otp-cell{width:40px;height:50px;font-size:22px}}.profile-email{background:var(--input-bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:-6px 0 16px;padding:10px 14px;display:flex}.profile-email-text{flex-direction:column;min-width:0;font-size:15px;line-height:1.3;display:flex}.profile-email-text>span:first-child{font-size:12px}.profile-email-text>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-email .btn-link{flex-shrink:0;padding:4px 0}.email-dialog{max-width:400px}.email-dialog .modal-body{padding-bottom:20px}.email-dialog-text{color:var(--text-secondary);margin:0 0 20px;line-height:1.4}.email-dialog .code-title{margin-top:4px;font-size:22px}.email-dialog .auth-subtitle{margin-bottom:20px}.meta .edited{margin-right:3px;font-style:italic}.reply-bar.editing{--quote-color:var(--primary)}.picker-sections{gap:4px;padding:8px 8px 0;display:flex}.picker-sections button{color:var(--text-secondary);border-radius:8px;flex:1;padding:6px 0;font-size:14px;font-weight:500}.picker-sections button:hover{background:var(--hover)}.picker-sections button.active{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}.sticker-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));align-content:start;gap:4px;padding:4px 8px 8px;display:grid;overflow-y:auto}.sticker-btn{aspect-ratio:1;border-radius:10px;padding:6px;transition:background .1s,transform .1s}.sticker-btn:hover{background:var(--hover);transform:scale(1.06)}.sticker-img{object-fit:contain;width:100%;height:100%;display:block}.sticker-fallback{place-items:center;width:100%;height:100%;display:grid}.sticker-fallback .emoji{width:70%;height:auto}.gif-search{padding:8px 8px 4px}.gif-search input{background:var(--input-bg);width:100%;height:36px;color:var(--text);border:none;border-radius:18px;outline:none;padding:0 14px}.gif-grid{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:6px;padding:4px 8px;display:grid;overflow:hidden auto}.gif-btn{background:var(--hover);border-radius:8px;width:100%;height:110px;display:block;overflow:hidden}.gif-btn img{object-fit:cover;width:100%;height:100%;display:block}.gif-empty{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:24px 16px;font-size:14px;line-height:1.4}.gif-credit{color:var(--text-secondary);text-align:right;padding:4px 10px 8px;font-size:11px}.bubble.sticker-bubble{box-shadow:none;padding:0;background:0 0!important}.bubble.sticker-bubble:before,.bubble.sticker-bubble:after{display:none}.bubble.sticker-bubble .bubble-head{background:var(--bubble-in);border-radius:10px;margin-bottom:4px;padding:4px 8px}.msg.out .bubble.sticker-bubble .bubble-head{background:var(--bubble-out)}.bubble.sticker-bubble .meta.overlay,.bubble.sticker-bubble .meta.static{background:var(--pill-bg);color:#fff;border-radius:10px;padding:2px 8px;position:absolute;bottom:6px;right:6px}.bubble.sticker-bubble .reactions-row{min-height:26px;margin-top:4px;position:relative}.sticker-msg{width:160px;height:160px}.gif-msg{background:var(--hover);border-radius:14px;width:260px;max-width:70vw;height:auto;display:block}.chat-search{z-index:6;background:var(--surface);border-bottom:1px solid var(--border);position:relative}.chat-search-bar{color:var(--text-secondary);align-items:center;gap:8px;padding:6px 8px 6px 16px;display:flex}.chat-search-bar input{min-width:0;height:36px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.chat-search-results{background:var(--surface);max-height:min(60vh,420px);padding:4px 8px 8px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0000002e}.chat-search-row{text-align:left;border-radius:10px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.chat-search-row:hover{background:var(--hover)}.chat-search-top{justify-content:space-between;gap:8px;font-size:13px;display:flex}.chat-search-name{color:var(--primary);font-weight:500}.chat-search-text{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.composer-locked.blocked{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.report-dialog,.list-dialog{max-width:420px}.report-hint{color:var(--text-secondary);margin:0 0 14px;font-size:14px;line-height:1.4}.list-dialog .modal-body{padding-bottom:16px}.list-row{border-radius:10px;align-items:center;gap:12px;padding:8px 4px;display:flex}.list-row-info{flex-direction:column;flex:1;min-width:0;font-size:14px;line-height:1.35;display:flex}.list-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.list-row .btn-link{flex-shrink:0}.end-all{margin:4px 0 8px;display:block}.settings-list{flex-direction:column;margin:-4px -8px 20px;display:flex}.settings-row{text-align:left;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:14px;padding:10px 8px;font-size:15px;display:flex}.settings-row:hover{background:var(--hover)}.settings-row>svg{color:var(--text-secondary);flex-shrink:0}.settings-row>span{flex:1}.switch{appearance:none;cursor:pointer;background:var(--border);border-radius:12px;flex-shrink:0;width:40px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--primary)}.switch:checked:after{transform:translate(16px)}.tab-badge{background:var(--danger);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:500;display:inline-grid}.report-filter{gap:6px;margin-bottom:12px;display:flex}.report-filter button{background:var(--hover);border-radius:16px;padding:6px 14px;font-size:14px}.report-filter button.active{background:var(--primary);color:#fff}.report-card{background:var(--surface);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:6px;margin-bottom:10px;padding:14px 16px;display:flex}.report-head{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.report-reason{color:var(--danger);font-size:15px;font-weight:600}.report-line{font-size:14px;line-height:1.4}.report-message{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;padding:8px 12px;font-size:14px}.report-message.gone{opacity:.7}.report-comment{color:var(--text-secondary);font-size:14px;font-style:italic}.report-tag{background:var(--hover);color:var(--text-secondary);border-radius:8px;margin-left:8px;padding:1px 8px;font-size:12px;font-style:normal;display:inline-block}.report-card .admin-actions{flex-wrap:wrap;margin-top:4px}.btn-secondary{background:color-mix(in srgb, var(--primary) 12%, transparent);width:100%;height:48px;color:var(--primary);border-radius:12px;font-size:15px;font-weight:500}.btn-secondary:hover{background:color-mix(in srgb, var(--primary) 20%, transparent)}.share-profile-btn{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);border-radius:18px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.share-profile-btn:hover{background:color-mix(in srgb, var(--primary) 20%, transparent)}.share-dialog{max-width:380px}.share-body{flex-direction:column;align-items:center;gap:12px;padding-bottom:20px;display:flex;position:relative}.share-card{background:linear-gradient(160deg, color-mix(in srgb, var(--primary) 22%, var(--surface)), var(--surface));border-radius:18px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:18px 16px 14px;display:flex}.share-name{margin-top:6px;font-size:18px;font-weight:600}.share-username{color:var(--text-secondary);margin-bottom:10px;font-size:14px}.share-qr{background:#fff;border-radius:14px;box-shadow:0 4px 16px #00000026;width:220px!important;height:220px!important}.share-hint{text-align:center;max-width:260px;color:var(--text-secondary);margin-top:10px;font-size:13px;line-height:1.35}.share-link{background:var(--input-bg);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;border-radius:10px;max-width:100%;padding:8px 12px;font-size:13px;overflow:hidden}.share-actions{flex-direction:column;gap:8px;width:100%;display:flex}.share-toast{color:#fff;white-space:nowrap;background:#000000d1;border-radius:10px;padding:8px 14px;font-size:13px;position:absolute;bottom:8px;left:50%;translate:-50%}.auth-invite{background:color-mix(in srgb, var(--primary) 12%, transparent);width:100%;color:var(--primary);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}html,body{background:var(--bg)}body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}input,textarea,[contenteditable=true],.bubble-text,.selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}@media (hover:none){.msg-content,.msg-content *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}svg.emoji.native{overflow:visible}svg.emoji.native text{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.field-hint.left{text-align:left;margin-top:-10px}#root{box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.keyboard-open #root{padding-bottom:0}.push-banner{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--text);border-radius:12px;align-items:center;gap:10px;margin:4px 4px 8px;padding:10px 6px 10px 12px;display:flex}.push-banner>svg{color:var(--primary);flex-shrink:0}.push-banner-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;line-height:1.35;display:flex}.push-banner-text b{font-size:14px}.push-banner-text span{color:var(--text-secondary)}.push-banner-btn{background:var(--primary);color:#fff;border-radius:16px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:500}.push-banner-close{flex-shrink:0;width:32px;height:32px}.settings-hint{color:var(--text-secondary);margin:-6px 8px 6px 44px;font-size:12px;line-height:1.35}#root{padding-bottom:0}.composer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.chat-list{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.admin-body{padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media (width<=760px),(hover:none) and (height<=520px){.composer{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}html.keyboard-open .composer{padding-bottom:8px}.inapp-notice{z-index:260;left:50%;top:calc(10px + env(safe-area-inset-top));background:var(--surface);width:min(420px,100vw - 16px);color:var(--text);text-align:left;border:1px solid var(--border);border-radius:16px;align-items:center;gap:12px;padding:10px 14px;animation:.22s ease-out inapp-in;display:flex;position:fixed;translate:-50%;box-shadow:0 8px 30px #0000004d}@keyframes inapp-in{0%{opacity:0;translate:-50% -120%}}.inapp-notice-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inapp-notice-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.inapp-notice-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}#root{height:auto;top:0;bottom:0}html.keyboard-open #root{height:var(--app-height,100%);bottom:auto}.attach-outer{display:none}@media (width<=760px),(hover:none) and (height<=520px){.composer-row{align-items:flex-end;gap:6px}.attach-outer{background:var(--surface);width:44px;height:44px;color:var(--text-secondary);box-shadow:var(--shadow);border-radius:50%;flex-shrink:0;display:grid;transform:none}.attach-outer svg{transform:rotate(45deg)}.composer-input .attach-btn{display:none}.composer-input{border-radius:22px;align-items:center;min-height:44px;padding:10px 12px 10px 16px}.composer-input .emoji-toggle{order:3}.composer-editable{max-height:140px}.send-btn,.record-btn{width:44px;height:44px}}.msg-menu{transform-origin:0 0;animation:.18s cubic-bezier(.2,.9,.3,1.2) menu-in}@keyframes menu-in{0%{opacity:0;transform:scale(.85)}}.msg-menu button{transition:background .12s}.chat-item,.send-btn,.attach-outer,.icon-btn,.btn-primary,.story-tile-main{transition:background .15s,transform .12s}.chat-item:active,.send-btn:active,.attach-outer:active,.btn-primary:active{transform:scale(.98)}.modal-overlay{animation:.2s ease-out fade}.modal{animation:.22s cubic-bezier(.2,.9,.3,1) modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@media (width<=760px),(hover:none) and (height<=520px){.messenger.chat-open .chat-area{animation:.26s cubic-bezier(.2,.8,.2,1) slide-from-right}.messenger:not(.chat-open) .sidebar{animation:.24s cubic-bezier(.2,.8,.2,1) slide-from-left}@keyframes slide-from-right{0%{opacity:.4;transform:translate(28%)}}@keyframes slide-from-left{0%{opacity:.6;transform:translate(-12%)}}.composer{position:relative}.composer-input{position:static}.emoji-picker{transform-origin:bottom;width:auto;max-width:none;height:min(360px,52vh);margin-bottom:6px;animation:.2s cubic-bezier(.2,.9,.3,1) picker-in;bottom:100%;left:8px;right:8px}html.keyboard-open .emoji-picker{height:min(300px,40vh)}@keyframes picker-in{0%{opacity:0;transform:translateY(16px)}}}@media (hover:none){input,textarea,select,[contenteditable=true]{font-size:16px!important}}.story-top{padding-top:calc(10px + env(safe-area-inset-top))}.story-bottom{padding-bottom:calc(14px + env(safe-area-inset-bottom))}@media (width<=760px),(hover:none) and (height<=520px){.story-stage{padding:0}}.call-screen{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.admin-panel{padding-top:env(safe-area-inset-top)}.viewer{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.modal-overlay{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.inapp-notice{top:calc(10px + env(safe-area-inset-top))}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.sidebar-header,.search{min-width:0}
