:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef2ef;color:#17211d;font-synthesis:none;text-rendering:geometricPrecision}:root{--tg-sidebar: #1f2329;--tg-sidebar-deep: #171b20;--tg-panel: #181818;--tg-panel-2: #202124;--tg-header: #2b2b2d;--tg-line: rgba(255, 255, 255, .08);--tg-text: #e7eaee;--tg-muted: #9aa3ad;--tg-soft: #2f3338;--tg-selected: #496f87;--tg-accent: #5aa6d6;--tg-tao: #35c59f;--tg-incoming: #303033;--tg-outgoing: #466f88;--tg-composer: #2b2d31}.sidebar{gap:8px;padding:12px 10px 10px;border-right:1px solid #0f1114;background:var(--tg-sidebar);color:var(--tg-text)}.contact-tabs b{width:18px;height:18px;background:#5aa6d6;font-size:12px}.conversation{grid-template-columns:50px minmax(0,1fr) auto;gap:10px;min-height:62px;border:0;border-radius:9px;background:transparent;color:var(--tg-text);padding:8px 10px}.conversation.active,.conversation.active.incoming,.conversation.pinned.active{background:var(--tg-selected)}.conversation.pinned,.conversation.incoming{border:0;background:transparent}.conversation.active small{color:#e1edf4}.conversation.active time{color:#e6f3fa}.avatar,.conversation .avatar{border-radius:999px}.conversation .avatar{width:44px;height:44px;border:0;background:#63d6c8;color:#17211d!important}.pin-marker{color:#c6d3db}.sidebar-bottom-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:8px;border-top:1px solid var(--tg-line)}.dock-button{min-height:42px;border:0;border-radius:9px;background:transparent;color:#a9b3bd}.chat-panel{background:radial-gradient(circle at 12px 12px,rgba(255,255,255,.025) 1px,transparent 1px),var(--tg-panel);background-size:34px 34px}.chat-header{min-height:54px;border-bottom:1px solid #1c1c1d;background:var(--tg-header);padding:8px 18px;color:var(--tg-text)}.chat-title{gap:10px}.chat-title .avatar.large{width:36px;height:36px;border:0;border-radius:999px;background:#a565d9;color:#fff!important;font-size:14px}.chat-title h1,h1{color:var(--tg-text);font-size:16px;font-weight:800;line-height:1.1}.eyebrow,.chat-title .eyebrow{margin:2px 0 0;color:var(--tg-muted);font-size:12px;font-weight:700;text-transform:none}.header-actions{gap:8px}.icon-button{width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:#aeb7c0}.icon-button.danger,.icon-button.call,.icon-button.accept{color:#aeb7c0}.call-banner{min-height:34px;border-bottom:1px solid #242628;background:#486f8775;color:#e7f4ff;padding:0 18px;font-size:13px}.error-banner{border:0;border-radius:10px;background:#583027;color:#ffd7cf}.pinned-message-strip{min-height:40px;border-bottom:1px solid rgba(255,255,255,.08);background:#48484ae0;color:var(--tg-text);padding:5px 18px}.pinned-message-marker:before{height:28px;opacity:.65}.pinned-message-marker span{height:11px}.pinned-message-kicker{color:#d9e3ea;font-size:12px;font-weight:800;text-transform:none}.pinned-message-main:hover .pinned-message-text{color:#fff}.pinned-message-control:hover{background:#ffffff1a;color:#fff}.message-history{padding:18px 24px 16px}.message{position:relative;width:fit-content;max-width:min(560px,76%);margin:0 0 8px;border:0;border-radius:15px 15px 15px 5px;background:var(--tg-incoming);color:var(--tg-text);padding:8px 10px 6px;box-shadow:0 1px #00000042}.message.mine{border:0;border-radius:15px 15px 5px;background:var(--tg-outgoing);color:#f4f8fb}.message-meta{gap:8px;margin-bottom:4px;color:#9d7bdb;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none}.message-pin-label{color:#9fcff0}.message p{color:inherit;font-size:15px;line-height:1.35}.message.mine .receipt{color:#c3d5df}.attachment-row small,.message.mine .attachment-row small{color:#c2ccd3}.composer{grid-template-columns:36px 36px 36px minmax(0,1fr) 42px;align-items:center;gap:6px;border-top:1px solid #202123;background:var(--tg-panel-2);padding:8px 14px 10px}.file-picker,.voice-button,.emoji-button{width:36px;min-width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:#9ea8b2}.composer textarea{height:38px;min-height:38px;border:0;border-radius:999px;background:var(--tg-composer);color:var(--tg-text);padding:9px 14px;font-size:14px}.composer textarea::placeholder{color:#9ba4ad}.send-button{width:38px;min-width:38px;height:38px;border:0;border-radius:999px;background:#3c92c7;color:#fff;padding:0;font-size:0}.send-button:hover:not(:disabled){background:#4aa8df;color:#fff}.context-menu-title{color:#8f9aa4}.context-menu button,.mobile-action-menu button{border-radius:8px;color:var(--tg-text)}.emoji-search input{color:var(--tg-text)}.selected-attachment{border:0;background:#2c343b;color:var(--tg-text)}.drop-overlay{background:#181818b8}.drop-target{border:1px dashed rgba(126,200,242,.72);border-radius:16px;background:#272b30f0;color:var(--tg-text)}.empty-state,.friend-gate,.request-bubble{color:var(--tg-text)}@media(max-width:860px){.app-shell,.app-shell[data-theme=mobile]{--mobile-sidebar-height: 330px}.app-shell[data-theme=mobile] .sidebar{gap:8px;padding:10px 12px}.app-shell[data-theme=mobile] .conversation{min-height:60px;grid-template-columns:42px minmax(0,1fr);padding:7px 8px}.app-shell[data-theme=mobile] .conversation .avatar{width:40px;height:40px}.app-shell[data-theme=mobile] .chat-header{min-height:54px;padding:7px 10px;background:var(--tg-header)}.app-shell[data-theme=mobile] .chat-title .avatar.large{display:grid;width:36px;height:36px;font-size:13px}.app-shell[data-theme=mobile] .chat-title h1{max-height:34px;color:var(--tg-text);font-size:15px;line-height:1.12;-webkit-line-clamp:2}.app-shell[data-theme=mobile] .chat-title .eyebrow{color:var(--tg-muted);font-size:12px}.app-shell[data-theme=mobile] .mobile-secure-actions{gap:4px}.app-shell[data-theme=mobile] .mobile-secure-actions .icon-button{width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:#aeb7c0}.app-shell[data-theme=mobile] .pinned-message-strip{min-height:40px;padding:5px 10px}.app-shell[data-theme=mobile] .message-history{padding:12px 10px}.app-shell[data-theme=mobile] .message{max-width:84%;width:fit-content;padding:8px 10px 6px}.app-shell[data-theme=mobile] .message p{font-size:15px}.app-shell[data-theme=mobile] .composer{grid-template-columns:34px 34px 34px minmax(0,1fr) 38px;gap:4px;padding:7px 8px max(8px,env(safe-area-inset-bottom))}.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .voice-button,.app-shell[data-theme=mobile] .emoji-button{width:34px;min-width:34px;height:34px}.app-shell[data-theme=mobile] .composer textarea{height:38px;min-height:38px;font-size:14px}.app-shell[data-theme=mobile] .send-button{width:38px;min-width:38px;height:38px}}@media(max-width:520px){.app-shell,.app-shell[data-theme=mobile]{--mobile-sidebar-height: 318px}.sidebar{padding:10px}.conversation{min-height:58px}.message-history{padding:10px 8px}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;min-height:100%;overflow:hidden;background:#eef2ef}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-columns:clamp(340px,24.6vw,420px) minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;background:#eef2ef}@media(min-width:900px){.app-shell{width:calc(100vw / .6);height:calc(100dvh / .6);transform:scale(.6);transform-origin:top left}}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:28px;background:linear-gradient(#eef2efe6,#eef2efe6),#eef2ef}.auth-panel{display:grid;gap:28px;width:min(560px,100%);border:1px solid #d6dfda;background:#f8faf8;padding:32px;box-shadow:0 24px 70px #1019151f}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:26.4px}.auth-brand span{margin-top:2px;color:#65746e;font-size:15.6px}.auth-copy h1{margin:0;font-size:40.8px;line-height:1.05}.auth-copy p:last-child{margin:12px 0 0;color:#586760;line-height:1.5}.auth-actions{display:grid;gap:14px}.primary-auth-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:0;background:#1f8a70;color:#fff;padding:0 18px;font-weight:900}.wallet-picker{display:grid;gap:12px}.wallet-picker label,.claim-input{display:grid;gap:7px;color:#52625b;font-size:15.6px;font-weight:800}.wallet-picker select,.claim-input div{min-height:44px;border:1px solid #cbd5cf;background:#fff}.wallet-picker select{width:100%;color:#17211d;padding:0 12px}.claim-input div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px}.claim-input input{min-width:0;border:0;outline:0}.claim-hint{color:#718079;font-size:14.4px}.claim-hint.warning{color:#8a2f22}.wallet-summary{display:flex;align-items:center;gap:9px;min-height:44px;border:1px solid #d7dfdb;background:#fff;color:#203029;padding:0 12px}.wallet-summary span{min-width:0;flex:1}.wallet-summary b{display:block;color:#617168;font-size:14.4px}.wallet-summary button,.profile-signout{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d7dfdb;background:#fff;color:#51615a}.auth-error{margin:0}.sidebar{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto auto;gap:18px;min-height:0;padding:24px;overflow:hidden;background:#101915;color:#f4f7f3}.sidebar-self-card,.sidebar-settings-panel,.sidebar-bottom-dock{display:none}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:#1f8a70}.brand strong,.brand span{display:block}.brand strong{font-size:26.4px;letter-spacing:0}.brand span{margin-top:2px;color:#aebbb4;font-size:15.6px}.search-box{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:42px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#aebbb4;padding:0 12px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#f4f7f3}.search-box input::placeholder{color:#91a19a}.contact-tabs{display:none}.contact-tabs button{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:34px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#d6e0db;padding:0 14px;font-size:15.6px;font-weight:800}.contact-tabs b{display:inline-grid;place-items:center;width:20px;height:20px;margin:0;border-radius:999px;background:#15996f;color:#fff;font-size:13.2px;line-height:1}.contact-tabs .active{border-color:#8fcdbd6b;background:#1f8a7038;color:#bff4e5}.conversation-list{min-height:0;overflow-y:auto}.section-label{margin:0 0 10px;color:#81938b;font-size:14.4px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.conversation{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:74px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;cursor:default;padding:12px;text-align:left}.conversation.active{border-color:#8fcdbda3;background:#ffffff1f}.conversation.pinned{border-color:#8fcdbd6b}.conversation.incoming{border-color:#8fcdbddb;background:#1f8a7029}.conversation.incoming:before{content:"";position:absolute;inset:10px auto 10px 0;width:3px;background:#43c09b}.conversation.incoming .avatar{border-color:#8fcdbd94;background:#1f8a70;color:#f4fffb!important}.conversation.incoming time{align-self:center;min-height:24px;padding:5px 8px;background:#43c09b29;color:#bdeede;font-size:13.2px;font-weight:900;text-transform:uppercase}.conversation span,.conversation strong,.conversation small{display:block;min-width:0}.conversation strong{display:flex;align-items:center;gap:6px;font-size:24px}.pin-marker{flex:0 0 auto;color:#77dcc1}.conversation small{margin-top:4px;overflow:hidden;color:#aebbb4;font-size:24px;text-overflow:ellipsis;white-space:nowrap}.conversation time{align-self:start;color:#8fa29a;font-size:14.4px}.conversation-empty{display:grid;min-height:62px;place-items:center;border:1px solid rgba(255,255,255,.12);color:#91a19a;font-size:15.6px;font-weight:800}.context-menu{position:fixed;z-index:80;display:grid;gap:3px;width:260px;border:1px solid #cfd8d3;background:#fbfcfb;padding:7px;color:#17211d;box-shadow:0 18px 48px #0a120e38}.context-menu-title{overflow:hidden;padding:8px 10px 7px;color:#68776f;font-size:12px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.context-menu button{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:38px;border:0;background:transparent;color:#22312b;padding:0 10px;text-align:left;font-size:15.6px;font-weight:800;transition:background .12s ease,color .12s ease}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible{background:#edf8f4;color:#176d5a;outline:none}.context-menu button.danger{color:#8a2f22}.context-menu button.danger:hover:not(:disabled),.context-menu button.danger:focus-visible{background:#fff4f1;color:#74261c}.context-menu button:disabled{cursor:not-allowed;opacity:.45}.avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;background:#dce7df;color:#163129;font-size:15.6px;font-weight:800;overflow:hidden}.avatar.self{background:#1f8a70;color:#f4fffb}.avatar.large{width:52px;height:52px}.avatar img{width:100%;height:100%;object-fit:cover}.connection-card,.profile-card{border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.sidebar-section-title{margin:0 0 12px;color:#81938b;font-size:14.4px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.connection-row{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#dbe4df}.connection-row b{margin-left:auto;padding:3px 8px;background:#ffffff1f;color:#dfe8e3;font-size:14.4px;text-transform:uppercase}.connection-row b.ok,.connection-row b.synced{background:#1f8a704d;color:#bff4e5}.connection-row b.syncing,.connection-row b.checking{background:#dba43e42;color:#ffe2a5}.connection-row b.down{background:#bd4a3b4d;color:#ffd6d0}.cloud-row{margin-top:14px}.connection-card input{width:100%;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#f4f7f3;padding:10px 11px;outline:none}.cloud-sync-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#dfe8e3;font-size:15.6px;font-weight:800}.cloud-sync-button:hover:not(:disabled){border-color:#bff4e573;background:#1f8a702e;color:#f4fffb}.profile-heading{display:flex;align-items:center;gap:12px}.profile-heading span{min-width:0;flex:1}.profile-heading span,.profile-heading small,.profile-heading strong{display:block}.profile-heading small{color:#8fa29a;font-size:14.4px}.profile-heading strong{margin-top:2px;color:#fff}.profile-note{margin:12px 0 0;color:#9cafaa;font-size:15.6px;line-height:1.45}.profile-editor{display:grid;gap:10px;margin-top:14px}.profile-editor label{display:grid;gap:6px;color:#8fa29a;font-size:14.4px;font-weight:800}.profile-editor input,.profile-editor textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#f4f7f3;padding:9px 10px;outline:none}.profile-editor textarea{height:64px;min-height:64px}.profile-image-picker{display:inline-flex!important;align-items:center;justify-content:center;gap:8px!important;min-height:36px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#dfe8e3!important}.profile-image-picker input{display:none}.chat-panel{position:relative;display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto;min-width:0;min-height:0;height:100%;overflow:hidden}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:grid;place-items:center;padding:28px;background:#eef2efc7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.drop-target{display:grid;place-items:center;gap:9px;width:min(420px,100%);border:1px solid rgba(31,138,112,.42);background:#fffffff0;color:#17211d;padding:32px 28px;text-align:center;box-shadow:0 22px 60px #14221c29}.drop-target svg{color:#1f8a70}.drop-target strong{font-size:24px}.drop-target span{color:#65746e;line-height:1.45}.chat-header{position:relative;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 36px 18px;border-bottom:1px solid #d9e0dc;background:#f7f8f4f0}.chat-title{display:flex;align-items:center;gap:14px;min-width:0}.chat-title>div{min-width:0}.chat-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{margin:0 0 5px;color:#65746e;font-size:14.4px;font-weight:800;text-transform:uppercase}h1{margin:0;color:#16211d;font-size:36px;line-height:1.05;letter-spacing:0}.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.mobile-secure-actions{display:none}.mobile-action-menu{position:absolute;top:calc(100% - 14px);right:34px;z-index:8;display:grid;min-width:190px;padding:8px;border:1px solid #d9e0dc;background:#fff;box-shadow:0 18px 48px #13201b24}.mobile-action-menu button{display:flex;align-items:center;gap:10px;min-height:38px;border:0;background:transparent;color:#22312b;padding:0 10px;font-weight:800;text-align:left}.mobile-action-menu button:hover{background:#eef5f1}.mobile-action-menu button:disabled{cursor:not-allowed;opacity:.45}.mobile-action-menu button.danger{color:#8a2f22}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #cbd5cf;background:#fff;color:#23312b;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.icon-button:hover:not(:disabled){border-color:#99b8ae;background:#f1f7f4;color:#17211d}.icon-button.active{border-color:#8fcdbd;background:#edf8f4;color:#1f8a70}.icon-button:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 4px #121f1a1f}.icon-button:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.icon-button.danger{color:#8a2f22}.icon-button.danger:hover{border-color:#e3b2a8;background:#fff4f1}.icon-button.call,.icon-button.accept{color:#1f8a70}.icon-button.call:hover,.icon-button.accept:hover{border-color:#8fcdbd;background:#edf8f4}.sync-state{display:flex;align-items:center;gap:7px;color:#53625c;font-size:16.8px}.trust-bar{grid-row:2;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 36px;border-bottom:1px solid #d9e0dc;background:#edf4ef;color:#4d6259;font-size:16.8px}.trust-bar span{min-width:0}.call-banner{grid-row:3;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 36px;border-bottom:1px solid #d9e0dc;background:#f1f8f5;color:#2f6f58;font-size:16.8px;font-weight:700}.call-banner.warning{background:#fff4f1;color:#8a2f22}.call-banner.incoming{background:#eef8ff;color:#245b7a}.error-banner{grid-row:4;display:flex;align-items:center;gap:10px;margin:14px 36px 0;padding:12px 14px;background:#fff4f1;border:1px solid #f0c4bb;color:#8a2f22}.remote-video-wrap,.local-video-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#0d1512}.remote-video,.local-video{display:block;width:100%;height:100%;object-fit:cover;background:#0d1512}.video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:12px;color:#e8f0ec;text-align:center}.video-placeholder strong{font-size:16.8px;font-weight:800}.video-placeholder.compact{padding:16px;gap:8px}.video-placeholder.compact span{color:#b8cbc3;font-size:14.4px;font-weight:700}.local-video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#102019;color:#cfe6de;font-weight:900}.message-history{grid-row:6;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px 36px}.message-history.friend-flow{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.message-history.friend-flow .empty-state{min-height:0}.empty-state{display:grid;place-items:center;align-content:center;min-height:100%;color:#5f6d67;text-align:center}.empty-state h2{margin:18px 0 8px;color:#1f2a25;font-size:28.8px}.empty-state p{max-width:440px;margin:0;line-height:1.5}.pending-request-preview{display:grid;gap:26px;padding:10px 0}.day-divider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;color:#74817b;font-size:15.6px}.day-divider:before,.day-divider:after{content:"";height:1px;background:#dde5e1}.request-message-preview{display:flex;align-items:center;gap:12px}.request-message-preview .avatar{width:46px;height:46px;border-radius:999px;background:#35a872;color:#fff!important}.request-bubble{display:flex;align-items:center;gap:22px;max-width:min(520px,72%);border:1px solid #dce5e1;border-radius:12px;background:#fff;padding:15px 18px}.request-bubble p{margin:0;color:#17211d;font-size:19.2px}.request-bubble time{color:#7b8983;font-size:14.4px;white-space:nowrap}.friend-gate{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;border:1px solid #d1ddd7;background:#f8faf8;padding:26px 30px}.friend-avatar{width:74px;height:74px;background:#1f8a70;color:#fff!important;font-size:26.4px}.friend-request-copy{min-width:0}.friend-request-copy.solo{grid-column:1 / 3}.friend-gate h2{margin:0;color:#17211d;font-size:26.4px}.friend-request-copy p{margin:6px 0 0;color:#617168}.friend-gate small{display:block;margin-top:12px;color:#6c7a74;font-size:15.6px}.friend-request-form{display:flex;align-items:center;gap:10px}.friend-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.friend-request-form input{width:170px;height:42px;border:1px solid #cbd5cf;background:#fff;color:#17211d;padding:0 11px;outline:none}.friend-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;background:#1f8a70;color:#fff;padding:0 15px;font-weight:900;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.friend-action:hover:not(:disabled){background:#176d5a;box-shadow:0 8px 18px #1f8a702e}.friend-action:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:inset 0 1px 4px #121f1a2e}.friend-action:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.friend-action.secondary{border:1px solid #cbd5cf;background:#fff;color:#5f6d67}.friend-action.secondary:hover{border-color:#d7b4aa;background:#fff4f1;color:#8a2f22}.message{width:min(620px,86%);margin:0 0 14px;padding:15px 17px 12px;background:#fff;border:1px solid #d8e0dc}.message.mine{margin-left:auto;background:#163129;border-color:#163129;color:#f5faf7}.message.pinned{border-color:#81bbaa;box-shadow:inset 3px 0 #1f8a70}.message.mine.pinned{border-color:#235a4d;box-shadow:inset 3px 0 #7ee0c8}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#6b7a73;font-size:14.4px;font-weight:800;text-transform:uppercase}.message.mine .message-meta{color:#9ac8ba}.message-meta-actions{display:inline-flex;align-items:center;gap:7px;min-width:0}.message-pin-label{display:inline-flex;align-items:center;gap:4px;color:#1f8a70}.message.mine .message-pin-label{color:#7ee0c8}.pinned-message-strip{grid-row:5;display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid #d9e0dc;background:#f7fbf8;padding:8px 36px;color:#203029}.pinned-message-main{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;flex:1 1 auto;min-width:0;border:0;background:transparent;color:#22312b;padding:0;text-align:left}.pinned-message-main:hover .pinned-message-text{color:#176d5a}.pinned-message-marker{position:relative;display:grid;place-items:center;width:18px;height:36px}.pinned-message-marker:before,.pinned-message-marker span{content:"";display:block;width:3px;border-radius:999px;background:#1f8a70}.pinned-message-marker:before{height:36px;opacity:.32}.pinned-message-marker span{position:absolute;height:16px}.pinned-message-copy{display:grid;gap:2px;min-width:0}.pinned-message-kicker{color:#1f8a70;font-size:13.2px;font-weight:900;text-transform:uppercase}.pinned-message-text{overflow:hidden;color:#23312b;font-size:18px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pinned-message-control{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid #cbd5cf;background:#fff;color:#24332d;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .12s ease}.pinned-message-control:hover{border-color:#9fc8bb;background:#edf8f4;color:#176d5a}.pinned-message-control:active{transform:translateY(1px) scale(.98)}.message p{margin:0;font-size:24px;white-space:pre-wrap;line-height:1.48;overflow-wrap:anywhere}.message.jump-highlight{outline:3px solid rgba(31,138,112,.34);outline-offset:4px;animation:message-jump-highlight 1.8s ease}@keyframes message-jump-highlight{0%,to{outline-color:#1f8a7000}18%,72%{outline-color:#1f8a7070}}.receipt{display:flex;align-items:center;gap:5px;margin-top:10px;color:#718079;font-size:14.4px}.message.mine .receipt{color:#9ac8ba}.attachment{display:grid;gap:8px;max-width:100%;margin-top:12px;border:1px solid #cfd8d3;background:#f8faf8;color:#18231f;padding:9px 10px;text-align:left}.attachment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left;transition:color .12s ease,transform .12s ease}.attachment-row:hover:not(:disabled){color:#1f8a70}.message.mine .attachment-row:hover:not(:disabled){color:#fff}.attachment-row:active:not(:disabled){transform:translateY(1px)}.attachment-row:focus-visible{outline:2px solid rgba(31,138,112,.34);outline-offset:4px}.attachment-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-row small{color:#708078}.image-attachment{width:min(360px,100%);padding:8px}.audio-attachment{width:min(360px,100%);border-radius:12px;padding:8px;background:#fff;box-shadow:0 10px 26px #161f1c0d}.message.mine .image-attachment,.message.mine .audio-attachment{background:#ffffff1a;border-color:#fff3;color:#f5faf7;box-shadow:none}.message.mine .attachment-row small{color:#9ac8ba}.attachment-preview{display:block;width:100%;max-height:260px;border-radius:7px;object-fit:cover;background:#e8f0eb}.voice-player{display:block;width:100%;min-width:240px;height:38px}.voice-attachment{--voice-control: #1f8a70;--voice-control-text: #ffffff;--voice-wave-base: #d5e0db;--voice-wave-active: #1f8a70;display:grid;grid-template-columns:42px minmax(120px,1fr) auto 30px;align-items:center;gap:10px;width:100%;min-width:0}.message.mine .voice-attachment{--voice-control: #ffffff;--voice-control-text: #176d5a;--voice-wave-base: rgba(255, 255, 255, .28);--voice-wave-active: #ffffff}.voice-attachment audio{display:none}.voice-play-button,.voice-download-button{display:grid;place-items:center;border:0;border-radius:999px;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.voice-play-button{width:42px;height:42px;background:var(--voice-control);color:var(--voice-control-text);box-shadow:0 6px 14px #1f8a702e}.voice-play-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #1f8a703d;filter:saturate(1.06)}.voice-play-button:active:not(:disabled){transform:translateY(1px) scale(.96);box-shadow:inset 0 1px 5px #121f1a33}.voice-play-button:focus-visible,.voice-download-button:focus-visible,.voice-waveform:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.voice-play-button svg{margin-left:1px}.voice-play-button:disabled{opacity:.72}.voice-waveform{display:grid;grid-template-columns:repeat(22,minmax(2px,1fr));align-items:center;gap:3px;width:100%;min-width:0;height:34px;border:0;background:transparent;padding:0;border-radius:999px;transition:opacity .12s ease,transform .12s ease}.voice-waveform:hover:not(:disabled){opacity:.86}.voice-waveform:active:not(:disabled){transform:translateY(1px)}.voice-waveform:disabled{cursor:wait;opacity:.72}.voice-waveform i{display:block;height:calc(9px + (var(--bar-height) * 21px));min-height:9px;border-radius:999px;background:linear-gradient(to top,var(--voice-wave-active) calc(var(--bar-fill) * 100%),var(--voice-wave-base) 0)}.voice-details{display:grid;gap:2px;min-width:54px;color:#5f6d67;font-size:14.4px;line-height:1.1;text-align:right}.voice-details strong{overflow:hidden;color:#203029;font-size:13.2px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.voice-details span{font-weight:900}.message.mine .voice-details{color:#bfe4da}.message.mine .voice-details strong{color:#fff}.voice-download-button{width:30px;height:30px;border:1px solid #d8e0dc;background:#f8faf8;color:#52625b}.voice-download-button:hover:not(:disabled){border-color:#9fc6bb;background:#edf8f4;color:#1f8a70}.voice-download-button:active:not(:disabled){transform:translateY(1px) scale(.96);box-shadow:inset 0 1px 4px #121f1a1f}.message.mine .voice-download-button{border-color:#fff3;background:#ffffff1a;color:#fff}.message.mine .voice-download-button:hover:not(:disabled){border-color:#ffffff61;background:#ffffff2e;color:#fff}.selected-attachment{grid-row:7;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;margin:0 36px;padding:10px 12px;border:1px solid #cfd8d3;border-bottom:0;background:#eef5f1;color:#24332d;font-size:15.6px}.selected-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.selected-attachment small{color:#64756d}.selected-attachment button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #c5d0cb;background:#fff;color:#52625b}.composer{grid-row:8;display:grid;grid-template-columns:46px 46px 46px minmax(0,1fr) auto;gap:10px;align-items:end;padding:18px 36px 26px;border-top:1px solid #d9e0dc;background:#f7f8f4f5}.file-picker,.emoji-button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #cbd5cf;background:#fff;color:#22312b;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.emoji-control{position:relative;display:grid}.file-picker:hover:not(:has(input:disabled)){border-color:#99b8ae;background:#f1f7f4;color:#17211d}.emoji-button:hover:not(:disabled),.emoji-button.active{border-color:#99b8ae;background:#f1f7f4;color:#1f8a70}.file-picker:active:not(:has(input:disabled)){transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 4px #121f1a1f}.emoji-button:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 4px #121f1a1f}.file-picker:focus-within,.emoji-button:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.file-picker.attached{color:#fff;background:#2f6f9f;border-color:#2f6f9f}.file-picker input{display:none}.emoji-popover{position:absolute;bottom:calc(100% + 10px);left:0;z-index:12;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;width:min(680px,calc(100vw / .6 - 80px));max-height:520px;border:1px solid #cbd9d3;background:#fbfcfb;padding:12px;box-shadow:0 18px 44px #0f19142e}.emoji-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid #d8e2dc;background:#fff;color:#5f6d67;padding:0 10px}.emoji-search input{width:100%;height:38px;border:0;background:transparent;color:#17211d;outline:none}.emoji-list{min-height:0;max-height:430px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.emoji-group{display:grid;gap:7px;margin:0 0 14px}.emoji-group:last-child{margin-bottom:0}.emoji-group-title{color:#64756d;font-size:13.2px;font-weight:900;letter-spacing:0;text-transform:uppercase}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}.emoji-grid button{display:grid;place-items:center;width:100%;min-width:0;height:38px;border:1px solid transparent;background:#fff;font-size:25.2px;line-height:1;transition:transform .12s ease,border-color .12s ease,background .12s ease}.emoji-grid button:hover{border-color:#a8c9be;background:#edf8f4}.emoji-grid button:active{transform:scale(.94)}.emoji-empty{display:grid;place-items:center;min-height:120px;color:#6a7771;font-size:15.6px;font-weight:800}.voice-button{display:grid;place-items:center;min-width:46px;height:46px;box-sizing:border-box;overflow:hidden;border:1px solid #cbd5cf;background:#fff;color:#22312b;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.voice-button:hover:not(:disabled){border-color:#99b8ae;background:#f1f7f4;color:#17211d}.voice-button:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 4px #121f1a1f}.voice-button:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.voice-button span{display:none}.voice-button.recording{grid-template-columns:1fr;grid-template-rows:19px 13px;gap:1px;width:46px;min-width:46px;padding:5px 3px;border-color:#e8b3aa;background:#fff4f1;color:#8a2f22}.voice-button.recording:hover:not(:disabled){border-color:#dc8f82;background:#ffe8e2;color:#7a281d}.voice-button.recording span{display:block;max-width:100%;overflow:hidden;font-size:12px;line-height:1;font-weight:900;text-align:center;white-space:nowrap}textarea{width:100%;height:46px;min-height:46px;resize:none;border:1px solid #cbd5cf;background:#fff;color:#16211d;padding:12px 13px;outline:none}textarea:focus,.connection-card input:focus,.search-box:focus-within{border-color:#1f8a70}.send-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:104px;height:46px;border:0;background:#1f8a70;color:#fff;padding:0 18px;font-weight:800;transition:transform .12s ease,background .12s ease,box-shadow .12s ease,color .12s ease}.send-button:hover:not(:disabled){background:#176d5a;box-shadow:0 10px 22px #1f8a7038}.send-button:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:inset 0 1px 5px #121f1a2e}.send-button:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.send-button:disabled{cursor:not-allowed;opacity:1;border:1px solid #d8e1dc;background:#edf2ef;color:#9aa8a2}.spin{animation:spin .8s linear infinite}.settings-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:28px;background:#0a110ea8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-dialog{display:grid;gap:14px;width:min(684px,100%);max-height:calc(100dvh - 56px);overflow:hidden;border:1px solid #d8e2dc;border-radius:18px;background:#fbfcfb;color:#17211d;padding:24px 32px 18px;box-shadow:0 28px 90px #060d0a57}.settings-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:20px}.settings-dialog-header h2{margin:0;color:#121c18;font-size:28.8px;line-height:1.08}.settings-dialog-header p:last-child{margin:7px 0 0;color:#65746e;font-size:16.8px}.settings-close-button{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid #d6dfda;border-radius:999px;background:#fff;color:#53625c;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease}.settings-close-button:hover:not(:disabled){border-color:#a9c3ba;background:#f0f7f4;color:#17211d}.settings-close-button:active:not(:disabled){transform:translateY(1px) scale(.96)}.settings-profile-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:22px;min-height:82px;padding:6px 0}.settings-avatar{width:76px;height:76px;border-radius:999px;background:#1f8a70;color:#fff;font-size:28.8px}.settings-profile-row small{display:block;margin-top:8px;color:#708078;font-size:16.8px}.settings-photo-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid #cbd5cf;border-radius:7px;background:#fff;color:#22312b;padding:0 28px;font-size:16.8px;font-weight:900;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.settings-photo-button:hover{border-color:#8fcdbd;background:#edf8f4;color:#176d5a;box-shadow:0 8px 18px #1f8a701f}.settings-photo-button:active{transform:translateY(1px) scale(.985)}.settings-photo-button input{display:none}.settings-form{display:grid;gap:12px}.settings-form label{display:grid;gap:8px;color:#52625b;font-size:15.6px;font-weight:900}.settings-form input,.settings-form textarea{width:100%;border:1px solid #cbd5cf;border-radius:6px;background:#fff;color:#17211d;font-weight:500;outline:0;padding:12px 13px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.settings-form input{height:46px}.settings-form textarea{height:76px;min-height:76px;resize:none;line-height:1.45}.settings-form input:focus,.settings-form textarea:focus{border-color:#1f8a70;box-shadow:0 0 0 3px #1f8a701f}.settings-form small{justify-self:end;margin-top:-4px;color:#7b8983;font-size:14.4px;font-weight:800}.settings-identity-grid{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid #dbe4df;border-radius:8px;background:#fff;padding:0}.settings-identity-grid div{display:grid;grid-template-columns:minmax(112px,.4fr) minmax(0,1fr);align-items:center;gap:16px;min-width:0;min-height:44px;padding:0 14px}.settings-identity-grid div+div{border-top:1px solid #e2e9e5}.settings-identity-grid span{color:#52625b;font-size:16.8px;font-weight:800;text-transform:none}.settings-identity-grid strong{overflow:hidden;color:#17211d;font-size:16.8px;font-weight:800;text-align:right;text-overflow:ellipsis;white-space:nowrap}.settings-identity-grid strong.ok,.settings-identity-grid strong.synced{color:#176d5a}.settings-identity-grid strong.checking,.settings-identity-grid strong.syncing{color:#8a631f}.settings-identity-grid strong.down{color:#8a2f22}.settings-dialog-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0;border-top:1px solid #e2e9e5;padding:14px 0 0}.group-dialog{width:min(560px,100%)}.group-member-list{display:grid;gap:8px;max-height:min(360px,42dvh);overflow:auto;padding-right:4px}.group-settings-section{display:grid;gap:10px}.group-settings-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#17211d;font-weight:900}.group-settings-title small{color:#65746e;font-size:14.4px;font-weight:800}.group-member{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:58px;border:1px solid #dbe4df;border-radius:8px;background:#fff;color:#17211d;padding:8px 12px;text-align:left;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.group-member:hover{border-color:#9bcfc1;background:#f2faf7;box-shadow:0 8px 20px #1f8a701a}.group-member:active{transform:translateY(1px) scale(.992)}.group-member.selected{border-color:#1f8a70;background:#edf8f4}.group-member span{min-width:0}.group-member strong,.group-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-member strong{font-size:16.8px}.group-member small{margin-top:3px;color:#65746e;font-size:14.4px}.settings-primary,.settings-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:7px;padding:0 24px;font-weight:900;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.settings-primary{border:0;background:#1f8a70;color:#fff}.settings-primary:hover:not(:disabled){background:#176d5a;box-shadow:0 10px 22px #1f8a7038}.settings-primary:active:not(:disabled),.settings-secondary:active:not(:disabled){transform:translateY(1px) scale(.985)}.settings-primary:disabled{border:1px solid #d8e1dc;background:#edf2ef;color:#9aa8a2}.settings-secondary{border:1px solid #cbd5cf;background:#fff;color:#4e5e57}.settings-secondary:hover:not(:disabled){border-color:#9fc6bb;background:#edf8f4;color:#176d5a}.settings-secondary.danger{color:#8a2f22}.settings-secondary.danger:hover:not(:disabled){border-color:#e3b2a8;background:#fff4f1;color:#8a2f22}.settings-close-button:focus-visible,.settings-photo-button:focus-within,.settings-primary:focus-visible,.settings-secondary:focus-visible{outline:2px solid rgba(31,138,112,.36);outline-offset:3px}.call-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:28px;background:#0a110eb8}.call-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(980px,100%);max-height:calc(100dvh - 56px);overflow:hidden;background:#111b17;color:#eef7f3;box-shadow:0 24px 80px #0000005c}.call-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.call-dialog-header h2{margin:0;font-size:28.8px;line-height:1.1}.call-status{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;background:#ffffff14;color:#cfe2da;font-size:15.6px;font-weight:800}.call-status.connected{background:#1f8a7042;color:#bff4e5}.call-dialog-body{position:relative;display:grid;min-height:0;padding:18px;background:#0b120f}.call-dialog-body .remote-video-wrap{min-height:min(56vw,520px);aspect-ratio:16 / 9}.call-dialog-body .local-video-wrap{position:absolute;right:34px;bottom:34px;width:min(210px,24vw);aspect-ratio:16 / 10;border:1px solid rgba(255,255,255,.22);box-shadow:0 16px 40px #00000059}.group-call-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:minmax(170px,1fr);gap:12px;min-height:min(60vw,560px)}.group-call-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0d1512}.group-call-tile.self{border-color:#1f8a7075}.participant-badge{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 9px;background:#080d0bc2;color:#eef7f3;font-size:14.4px;font-weight:800}.participant-badge.connected{background:#1f8a70d1}.participant-badge.interrupted{background:#8a2f22db}.call-dialog-actions{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px 20px;border-top:1px solid rgba(255,255,255,.12)}.call-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:48px;height:44px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#f4faf7;padding:0 16px;font-weight:800}.call-action.accept{border-color:#1f8a70;background:#1f8a70}.call-action.danger{border-color:#b84c3d;background:#8a2f22}.app-shell[data-theme=mobile]{grid-template-columns:clamp(390px,25.4vw,428px) minmax(0,1fr);background:#f7f9f8}.app-shell[data-theme=mobile] .sidebar{position:relative;grid-template-areas:"search" "tabs" "list" "dock";grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;padding:26px 18px;background:linear-gradient(180deg,#19202bfa,#0c141cfc),#111820;color:#f5faf8}.app-shell[data-theme=mobile] .brand{grid-area:brand;display:none}.app-shell[data-theme=mobile] .brand-mark{width:54px;height:54px;border-color:#1f8a70b8;background:#1f8a7029;color:#22b98e}.app-shell[data-theme=mobile] .brand strong{font-size:32.4px;line-height:1}.app-shell[data-theme=mobile] .brand span{color:#c6d1d3;font-size:19.2px}.app-shell[data-theme=mobile] .sidebar-self-card{grid-area:self;display:none;align-items:center;gap:12px;min-height:70px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0b;padding:12px}.app-shell[data-theme=mobile] .sidebar-self-card span{min-width:0;flex:1}.app-shell[data-theme=mobile] .sidebar-self-card strong,.app-shell[data-theme=mobile] .sidebar-self-card small{display:block}.app-shell[data-theme=mobile] .sidebar-self-card strong{font-size:19.2px}.app-shell[data-theme=mobile] .sidebar-self-card small{margin-top:3px;color:#20c990;font-size:16.8px}.app-shell[data-theme=mobile] .sidebar-settings-panel{position:absolute;right:18px;bottom:86px;left:18px;z-index:4;display:grid;max-height:284px;min-height:0;overflow-y:auto;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0e;padding:12px}.app-shell[data-theme=mobile] .sidebar-settings-panel .profile-editor{margin:0}.app-shell[data-theme=mobile] .sidebar-settings-panel .profile-editor textarea{height:54px;min-height:54px}.app-shell[data-theme=mobile] .search-box{grid-area:search;min-height:50px;border-radius:12px;background:#ffffff0d}.app-shell[data-theme=mobile] .contact-tabs{grid-area:tabs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.app-shell[data-theme=mobile] .conversation-list{grid-area:list}.app-shell[data-theme=mobile] .contact-tabs button{min-height:40px;border-radius:999px;font-size:14.4px;padding:0 12px}.app-shell[data-theme=mobile] .contact-tabs .active{background:#15996f;color:#fff}.app-shell[data-theme=mobile] .conversation{min-height:74px;grid-template-columns:46px minmax(0,1fr) auto;border-color:transparent;border-radius:14px;background:transparent}.app-shell[data-theme=mobile] .conversation strong,.app-shell[data-theme=mobile] .conversation small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-theme=mobile] .conversation strong{display:block;line-height:1.05}.app-shell[data-theme=mobile] .conversation small{line-height:1.12}.app-shell[data-theme=mobile] .conversation.active,.app-shell[data-theme=mobile] .conversation.active.incoming{border-color:#1fb98b6b;background:#ffffff12}.app-shell[data-theme=mobile] .conversation.incoming:not(.active){border-color:transparent;background:transparent}.app-shell[data-theme=mobile] .conversation.incoming:before{display:none}.app-shell[data-theme=mobile] .conversation.incoming .avatar{box-shadow:0 0 0 2px #101820,0 0 0 5px #1fb98bd9}.app-shell[data-theme=mobile] .conversation.incoming:not(.active) time{background:#ffffff14;color:#9ee6ce}.app-shell[data-theme=mobile] .conversation .avatar{width:46px;height:46px;border-radius:999px}.app-shell[data-theme=mobile] .connection-card,.app-shell[data-theme=mobile] .profile-card{display:none}.app-shell[data-theme=mobile] .sidebar-bottom-dock{grid-area:dock;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.app-shell[data-theme=mobile] .dock-button{display:grid;place-items:center;min-width:0;height:44px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0e;color:#cbd8d1}.app-shell[data-theme=mobile] .dock-button:hover:not(:disabled),.app-shell[data-theme=mobile] .dock-button.active{border-color:#57d2a98c;background:#1f8a7038;color:#f4fffb}.app-shell[data-theme=mobile] .dock-button.ok,.app-shell[data-theme=mobile] .dock-button.synced{color:#55d9ad}.app-shell[data-theme=mobile] .dock-button.down{color:#ffb0a5}.app-shell[data-theme=mobile] .dock-button.checking,.app-shell[data-theme=mobile] .dock-button.syncing{color:#ffe2a5}.app-shell[data-theme=mobile] .chat-header,.app-shell[data-theme=mobile] .composer{background:#fbfcfb}.app-shell[data-theme=mobile] .chat-header{min-height:102px;padding:24px 34px}.app-shell[data-theme=mobile] .chat-title{gap:14px}.app-shell[data-theme=mobile] .chat-title .avatar.large{width:64px;height:64px;border-radius:999px;background:#35a872;color:#fff!important;font-size:21.6px}.app-shell[data-theme=mobile] .chat-title h1{display:-webkit-box;max-height:50px;font-size:24px;line-height:1.04;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:ellipsis;white-space:normal}.app-shell[data-theme=mobile] .chat-title .eyebrow{margin:6px 0 0;color:#5f6d67;font-size:18px;font-weight:500;text-transform:none}.app-shell[data-theme=mobile] .header-actions{display:none}.app-shell[data-theme=mobile] .mobile-secure-actions{display:flex;align-items:center;gap:20px}.app-shell[data-theme=mobile] .mobile-secure-actions .icon-button{width:56px;height:56px;border-color:#dfe5e2;border-radius:12px;background:#fff;color:#111b17}.app-shell[data-theme=mobile] .mobile-action-menu{top:calc(100% - 18px);border-radius:14px}.app-shell[data-theme=mobile] .trust-bar{display:none}.app-shell[data-theme=mobile] .conversation,.app-shell[data-theme=mobile] .friend-gate,.app-shell[data-theme=mobile] .message,.app-shell[data-theme=mobile] .composer textarea,.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .icon-button{border-radius:8px}.app-shell[data-theme=mobile] .friend-gate{grid-template-columns:88px minmax(0,1fr) auto;margin:40px 34px 18px;border-color:#cde2da;border-radius:14px;background:#ffffffeb;padding:34px}.app-shell[data-theme=mobile] .friend-avatar{width:88px;height:88px;border-radius:999px;background:#e8f2ee;color:#111b17!important}.app-shell[data-theme=mobile] .friend-gate h2{font-size:30px}.app-shell[data-theme=mobile] .friend-action{min-width:132px;min-height:54px;border-radius:9px;font-size:20.4px}.app-shell[data-theme=mobile] .friend-action svg{display:none}.app-shell[data-theme=mobile] .friend-action.secondary{background:#fff}.app-shell[data-theme=mobile] .message-history{display:flex;flex-direction:column;background:#fbfcfb;padding:28px 34px}.app-shell[data-theme=mobile] .message-history:not(.friend-flow):before{content:"";margin-top:auto}.app-shell[data-theme=mobile] .message-history:has(.pinned-message-strip):before{content:none}.app-shell[data-theme=mobile] .message-history:not(.friend-flow) .message{margin-bottom:14px}.app-shell[data-theme=mobile] .message-history.friend-flow{display:grid;padding:0}.app-shell[data-theme=mobile] .drop-overlay{padding:34px}.app-shell[data-theme=mobile] .drop-target{border-radius:18px;padding:34px 28px}.app-shell[data-theme=mobile] .empty-state{padding-top:36px}.app-shell[data-theme=mobile] .pending-request-preview{padding:28px 34px 0}.app-shell[data-theme=mobile] .day-divider{margin:0 0 10px}.app-shell[data-theme=mobile] .request-bubble{min-height:58px;border-radius:12px;box-shadow:0 8px 24px #161f1c0a}.app-shell[data-theme=mobile] .message.mine{background:#176d5a;border-color:#176d5a}.app-shell[data-theme=mobile] .audio-attachment{width:min(372px,100%);border-radius:16px;padding:9px}.app-shell[data-theme=mobile] .voice-attachment{grid-template-columns:46px minmax(108px,1fr) auto 32px;gap:10px}.app-shell[data-theme=mobile] .voice-play-button{width:46px;height:46px}.app-shell[data-theme=mobile] .voice-waveform{height:38px;gap:3px}.app-shell[data-theme=mobile] .voice-waveform i{height:calc(10px + (var(--bar-height) * 24px))}.app-shell[data-theme=mobile] .voice-details{min-width:48px}.app-shell[data-theme=mobile] .voice-details strong{display:none}.app-shell[data-theme=mobile] .voice-download-button{width:32px;height:32px}.app-shell[data-theme=mobile] .composer{grid-template-columns:62px 62px 62px minmax(0,1fr) 70px;gap:14px;padding:28px 34px 42px}.app-shell[data-theme=mobile] .selected-attachment{margin:0 34px;border-radius:12px 12px 0 0;padding:12px 14px;font-size:18px}.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .voice-button,.app-shell[data-theme=mobile] .emoji-button{width:62px;min-width:62px;height:62px;border-radius:14px}.app-shell[data-theme=mobile] .emoji-popover{width:min(540px,calc(100vw - 40px));max-height:58dvh}.app-shell[data-theme=mobile] .emoji-list{max-height:calc(58dvh - 64px)}.app-shell[data-theme=mobile] .voice-button.recording{grid-template-rows:25px 15px;gap:2px;width:62px;min-width:62px;padding:9px 5px 8px}.app-shell[data-theme=mobile] .voice-button.recording span{font-size:13.2px}.app-shell[data-theme=mobile] .composer textarea{height:62px;min-height:62px;border-radius:999px;padding:18px 24px;font-size:20.4px}.app-shell[data-theme=mobile] .send-button{width:62px;min-width:62px;height:62px;border-radius:999px;background:#139a70;padding:0;font-size:0}.app-shell[data-theme=mobile] .send-button:disabled{border:1px solid #dce5e1;background:#eef3f0;color:#9aa8a2}.app-shell[data-theme=mobile] .send-button:hover:not(:disabled){background:#176d5a;box-shadow:0 10px 22px #1f8a7038}.app-shell[data-theme=mobile] .send-button:active:not(:disabled){transform:translateY(1px) scale(.96);box-shadow:inset 0 1px 5px #121f1a2e}.app-shell[data-theme=mobile] .send-button svg{width:25px;height:25px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){body{overflow:hidden}.app-shell{--mobile-sidebar-height: 380px;grid-template-columns:1fr;grid-template-rows:var(--mobile-sidebar-height) minmax(0,1fr);height:100dvh}.app-shell[data-theme=mobile]{grid-template-columns:1fr;grid-template-rows:var(--mobile-sidebar-height) minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);align-items:center;gap:10px 12px;min-height:0;padding:12px 14px;overflow:hidden}.brand-mark{width:38px;height:38px}.brand strong{font-size:24px}.brand span{font-size:14.4px}.search-box{grid-column:1;grid-row:2;flex:0 0 auto;width:100%;min-height:38px;padding:0 12px}.search-box input{position:static;width:100%;height:auto;opacity:1}.conversation-list{grid-area:list;flex:1 1 auto;width:100%;min-height:0;overflow-y:auto;overflow-x:hidden}.section-label{display:none}.conversation{min-height:66px;padding:10px;grid-template-columns:40px minmax(0,1fr) auto}.conversation time{font-size:13.2px}.conversation-empty{min-height:66px}.context-menu{width:min(260px,calc(100vw - 20px))}.app-shell[data-theme=mobile] .search-box{grid-column:1 / 2;grid-row:1 / 2}.app-shell[data-theme=mobile] .contact-tabs{flex:0 0 auto;width:100%}.app-shell[data-theme=mobile] .conversation-list{grid-column:1 / 2;grid-row:3 / 4;overflow-y:auto;overflow-x:hidden}.app-shell[data-theme=mobile] .sidebar-bottom-dock{flex:0 0 auto;width:100%}.connection-card,.profile-card{display:none}.chat-panel{grid-column:1 / 2;grid-row:2 / 3;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto;min-height:0;height:100%}.app-shell[data-theme=mobile] .chat-header{min-height:82px;align-items:center;gap:10px;padding:12px 14px}.app-shell[data-theme=mobile] .chat-title{gap:10px}.app-shell[data-theme=mobile] .chat-title .avatar.large{width:48px;height:48px;font-size:16.8px}.app-shell[data-theme=mobile] .chat-title h1{font-size:22.8px}.app-shell[data-theme=mobile] .chat-title .eyebrow{font-size:14.4px}.app-shell[data-theme=mobile] .mobile-secure-actions{gap:10px}.app-shell[data-theme=mobile] .mobile-secure-actions .icon-button{width:48px;height:48px}.app-shell[data-theme=mobile] .composer{grid-template-columns:40px 40px 40px minmax(150px,1fr) 44px;gap:6px;padding:12px 14px max(14px,env(safe-area-inset-bottom))}.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .voice-button,.app-shell[data-theme=mobile] .emoji-button{width:40px;min-width:40px;height:40px;border-radius:10px}.app-shell[data-theme=mobile] .composer textarea{height:48px;min-height:48px;padding:12px 10px;font-size:16.8px}.app-shell[data-theme=mobile] .send-button{width:44px;min-width:44px;height:44px}.app-shell[data-theme=mobile] .pinned-message-strip{min-height:54px;padding:7px 14px}.app-shell[data-theme=mobile] .pinned-message-text{font-size:16.8px}.app-shell[data-theme=mobile] .pinned-message-control{width:36px;height:36px}.chat-header{align-items:center;gap:10px;padding:12px 14px}.header-actions{justify-content:flex-end;gap:7px;min-width:0}.avatar.large{width:40px;height:40px}.chat-title{gap:10px}.eyebrow{font-size:12px}h1{font-size:26.4px}.icon-button{width:38px;height:38px}.sync-state{display:none}.trust-bar{min-height:38px;padding:8px 14px;font-size:14.4px;line-height:1.35}.call-banner{min-height:38px;padding:8px 14px;font-size:15.6px}.settings-dialog-backdrop{padding:14px}.settings-dialog{width:min(684px,100%);max-height:calc(100dvh - 28px);overflow-y:auto;border-radius:16px;padding:20px}.settings-profile-row{grid-template-columns:68px minmax(0,1fr);gap:16px;min-height:82px}.settings-avatar{width:68px;height:68px}.settings-photo-button{width:max-content;padding:0 16px}.settings-dialog-actions{margin:0;padding:16px 0 0}.settings-dialog-actions{grid-template-columns:1fr 1fr}.settings-dialog-actions span{display:none}.settings-secondary.danger{grid-column:1 / -1;justify-self:start}.error-banner{margin:10px 14px 0;padding:10px 12px;font-size:15.6px}.call-dialog-backdrop{padding:0}.call-dialog{width:100%;height:100dvh;max-height:none}.call-dialog-header{align-items:center;flex-direction:row;gap:12px;padding:16px}.call-dialog-header h2{font-size:25.2px}.call-dialog-body{padding:12px}.call-dialog-body .remote-video-wrap{min-height:0;height:100%;aspect-ratio:auto}.group-call-grid{grid-template-columns:1fr;grid-auto-rows:minmax(168px,30vh);min-height:0;overflow-y:auto}.call-dialog-body .local-video-wrap{right:20px;bottom:20px;width:min(132px,36vw)}.call-dialog-actions{padding:12px 16px 16px}.call-action{height:42px;padding:0 13px}.message-history{min-height:0;padding:16px 14px 18px}.friend-gate{align-items:flex-start;gap:12px;padding:14px}.friend-actions{gap:8px}.message{width:min(92%,520px);padding:13px 14px 11px}.drop-overlay{padding:14px}.drop-target{padding:26px 20px}.selected-attachment{margin:0 14px}.composer{grid-template-columns:42px 42px 42px minmax(0,1fr) 46px;gap:8px;align-items:end;padding:10px 14px max(12px,env(safe-area-inset-bottom))}.file-picker,.voice-button,.emoji-button{width:42px;height:42px}.app-shell[data-theme=mobile] .emoji-popover{position:fixed;right:10px;bottom:76px;left:10px;width:auto;max-height:min(430px,calc(100dvh - 170px));padding:8px}.app-shell[data-theme=mobile] .emoji-list{max-height:calc(100dvh - 236px)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:5px}.emoji-grid button{height:34px;font-size:21.6px}.composer textarea{height:42px;min-height:42px;padding:10px 11px}.send-button{width:46px;min-width:46px;height:42px;padding:0;font-size:0}.send-button svg{width:19px;height:19px}}@media(max-width:520px){.app-shell,.app-shell[data-theme=mobile]{--mobile-sidebar-height: 380px}.sidebar{padding:10px 12px}.brand-mark{width:34px;height:34px}.brand{gap:9px}.brand strong{font-size:21.6px}.brand span{margin-top:0}.conversation{min-height:58px;grid-template-columns:36px minmax(0,1fr)}.conversation .avatar{width:36px;height:36px}.conversation time{display:none}.chat-header{padding:10px 12px}.chat-title .avatar.large{display:none}.eyebrow{margin-bottom:3px}h1{font-size:24px}.header-actions{gap:6px}.settings-dialog-backdrop{padding:0;place-items:end stretch}.settings-dialog{width:100%;max-height:min(92dvh,760px);border-right:0;border-bottom:0;border-left:0;border-radius:18px 18px 0 0;padding:18px 16px 16px}.settings-dialog-header h2{font-size:28.8px}.settings-identity-grid{grid-template-columns:1fr;gap:0}.settings-form textarea{height:84px;min-height:84px}.settings-dialog-actions{grid-template-columns:1fr;margin:0;padding:14px 0 0}.settings-primary,.settings-secondary{width:100%}.settings-secondary.danger{justify-self:stretch;order:4}.icon-button{width:36px;height:36px}.header-actions .icon-button.danger[title="Clear local history"]{display:none}.trust-bar{padding:7px 12px}.message-history{padding:14px 12px 16px}.friend-gate{display:grid}.friend-actions{width:100%}.friend-action{flex:1}.message{width:96%}.message-meta{font-size:13.2px}.composer{padding-inline:12px}.selected-attachment{margin:0 12px}}:root{--tg-sidebar: #1f2329;--tg-panel: #181818;--tg-panel-2: #202124;--tg-header: #2b2b2d;--tg-line: rgba(255, 255, 255, .08);--tg-text: #e7eaee;--tg-muted: #9aa3ad;--tg-selected: #496f87;--tg-accent: #5aa6d6;--tg-incoming: #303033;--tg-outgoing: #466f88;--tg-composer: #2b2d31}body,.app-shell{background:var(--tg-panel)}@media(min-width:900px){.app-shell{width:100vw;height:100dvh;transform:none}}.sidebar,.app-shell[data-theme=mobile] .sidebar{gap:8px;padding:12px 10px 10px;border-right:1px solid #0f1114;background:var(--tg-sidebar);color:var(--tg-text)}.brand{min-height:34px;justify-content:center;color:var(--tg-text)}.brand-mark{width:30px;height:30px;border:0;border-radius:999px;background:#2f3640;color:var(--tg-accent)}.brand strong{font-size:18px;font-weight:800}.brand span{display:none}.search-box{min-height:34px;border:0;border-radius:999px;background:#15181c;color:var(--tg-muted);padding:0 13px}.search-box input{color:var(--tg-text);font-size:14px}.contact-tabs{display:flex;gap:4px;min-width:0;overflow-x:auto;padding:2px 0 4px}.contact-tabs button{min-height:28px;border:0;border-radius:999px;background:transparent;color:var(--tg-muted);padding:0 10px;font-size:13px;font-weight:700}.contact-tabs .active{background:#5aa6d62e;color:#d6efff}.conversation-list{margin:2px -4px 0;padding:0 4px 6px}.section-label{display:none}.conversation,.app-shell[data-theme=mobile] .conversation{grid-template-columns:50px minmax(0,1fr) auto;gap:10px;min-height:62px;border:0;border-radius:9px;background:transparent;color:var(--tg-text);padding:8px 10px}.conversation:hover{background:#ffffff0d}.conversation.active,.conversation.active.incoming,.conversation.pinned.active,.app-shell[data-theme=mobile] .conversation.active{background:var(--tg-selected)}.conversation.pinned,.conversation.incoming,.conversation.incoming:not(.active),.app-shell[data-theme=mobile] .conversation.incoming:not(.active){border:0;background:transparent}.conversation.incoming:before{display:none}.conversation strong{font-size:15px;line-height:1.1}.conversation small{margin-top:3px;color:#a7b0ba;font-size:14px;line-height:1.15}.conversation.active small,.conversation.active time{color:#e6f3fa}.conversation time,.conversation.incoming time{align-self:start;min-height:auto;background:transparent;color:#8d969f;padding:2px 0 0;font-size:12px;font-weight:700;text-transform:none}.avatar,.conversation .avatar,.app-shell[data-theme=mobile] .conversation .avatar{border:0;border-radius:999px}.conversation .avatar,.app-shell[data-theme=mobile] .conversation .avatar{width:44px;height:44px;background:#63d6c8;color:#17211d!important}.sidebar-bottom-dock,.app-shell[data-theme=mobile] .sidebar-bottom-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:8px;border-top:1px solid var(--tg-line)}.dock-button,.app-shell[data-theme=mobile] .dock-button{min-height:42px;border:0;border-radius:9px;background:transparent;color:#a9b3bd}.dock-button:hover:not(:disabled),.dock-button.active{background:#5aa6d624;color:#8fcdf4}.chat-panel,.app-shell[data-theme=mobile] .chat-panel{background:radial-gradient(circle at 12px 12px,rgba(255,255,255,.025) 1px,transparent 1px),var(--tg-panel);background-size:34px 34px}.chat-header,.app-shell[data-theme=mobile] .chat-header{min-height:54px;border-bottom:1px solid #1c1c1d;background:var(--tg-header);color:var(--tg-text);padding:8px 18px}.chat-title .avatar.large,.app-shell[data-theme=mobile] .chat-title .avatar.large{display:grid;width:36px;height:36px;border:0;border-radius:999px;background:#a565d9;color:#fff!important;font-size:14px}.chat-title h1,.app-shell[data-theme=mobile] .chat-title h1,h1{max-height:36px;color:var(--tg-text);font-size:16px;font-weight:800;line-height:1.12}.eyebrow,.chat-title .eyebrow,.app-shell[data-theme=mobile] .chat-title .eyebrow{margin:2px 0 0;color:var(--tg-muted);font-size:12px;font-weight:700;text-transform:none}.icon-button,.app-shell[data-theme=mobile] .mobile-secure-actions .icon-button{width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:#aeb7c0}.icon-button:hover:not(:disabled),.icon-button.active,.icon-button.call:hover,.icon-button.accept:hover{background:#ffffff14;color:#dfe8ee}.sync-state,.trust-bar{display:none}.pinned-message-strip,.app-shell[data-theme=mobile] .pinned-message-strip{min-height:40px;border-bottom:1px solid rgba(255,255,255,.08);background:#48484ae0;color:var(--tg-text);padding:5px 18px}.pinned-message-main{grid-template-columns:3px minmax(0,1fr);color:var(--tg-text)}.pinned-message-marker{width:3px;height:28px}.pinned-message-marker:before,.pinned-message-marker span{width:3px;background:#7ec8f2}.pinned-message-kicker{color:#d9e3ea;font-size:12px;text-transform:none}.pinned-message-text{color:#f2f5f7;font-size:13px;font-weight:600}.pinned-message-control{width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:#c7d0d7}.message-history,.app-shell[data-theme=mobile] .message-history{padding:18px 24px 16px;background:radial-gradient(circle at 12px 12px,rgba(255,255,255,.025) 1px,transparent 1px),var(--tg-panel);background-size:34px 34px}.message-history:not(.friend-flow){display:flex;flex-direction:column}.message-history:not(.friend-flow):before{content:"";margin-top:auto}.day-divider,.message-day-divider{display:flex;justify-content:center;margin:10px 0 14px}.day-divider:before,.day-divider:after{display:none}.day-divider span,.message-day-divider span{border-radius:999px;background:#00000057;color:#d7dde2;padding:5px 10px;font-size:12px;font-weight:800}.message,.app-shell[data-theme=mobile] .message{position:relative;width:fit-content;max-width:min(560px,76%);margin:0 0 8px;border:0;border-radius:15px 15px 15px 5px;background:var(--tg-incoming);color:var(--tg-text);padding:8px 10px 6px;box-shadow:0 1px #00000042}.message.mine{margin-left:auto;border:0;border-radius:15px 15px 5px;background:var(--tg-outgoing);color:#f4f8fb}.app-shell[data-theme=mobile] .message.mine{margin-left:auto;background:var(--tg-outgoing);border-color:transparent}.message.pinned,.message.mine.pinned{border:0;box-shadow:inset 3px 0 #7ec8f2d1,0 1px #00000042}.message-meta{margin-bottom:4px;color:#9d7bdb;font-size:12px;font-weight:800;text-transform:none}.message.mine .message-meta{color:#bdd4e2}.message p,.app-shell[data-theme=mobile] .message p{color:inherit;font-size:15px;line-height:1.35}.message.emoji-only,.message.mine.emoji-only,.message.emoji-only.pinned,.message.mine.emoji-only.pinned,.app-shell[data-theme=mobile] .message.emoji-only,.app-shell[data-theme=mobile] .message.mine.emoji-only{max-width:none;border:0;background:transparent;box-shadow:none;padding:0}.message.emoji-only .message-meta{display:none}.message.emoji-only p,.app-shell[data-theme=mobile] .message.emoji-only p{margin:0;font-size:clamp(96px,32vw,150px);line-height:1}.message.emoji-only .receipt{margin-top:-4px;padding-right:10px}.receipt{justify-content:flex-end;margin-top:3px;color:#9da8b1;font-size:11px}.attachment{border:0;border-radius:8px;background:#0000002e;color:inherit;padding:7px 8px}.composer,.app-shell[data-theme=mobile] .composer{grid-template-columns:36px 36px 36px minmax(0,1fr) 42px;align-items:center;gap:6px;border-top:1px solid #202123;background:var(--tg-panel-2);padding:8px 14px 10px}.file-picker,.voice-button,.emoji-button,.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .voice-button,.app-shell[data-theme=mobile] .emoji-button{width:36px;min-width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:#9ea8b2}.file-picker:hover:not(:has(input:disabled)),.voice-button:hover:not(:disabled),.emoji-button:hover:not(:disabled),.emoji-button.active{background:#ffffff14;color:#dbe5ec}.composer textarea,.app-shell[data-theme=mobile] .composer textarea{height:38px;min-height:38px;border:0;border-radius:999px;background:var(--tg-composer);color:var(--tg-text);padding:9px 14px;font-size:14px}.send-button,.app-shell[data-theme=mobile] .send-button{width:38px;min-width:38px;height:38px;border:0;border-radius:999px;background:#3c92c7;color:#fff;padding:0;font-size:0}.send-button:disabled{background:transparent;color:#7f8992}.emoji-popover,.context-menu,.mobile-action-menu{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#25282cfa;color:var(--tg-text);box-shadow:0 18px 52px #00000073}.context-menu{width:248px;min-width:248px;max-width:calc(100vw - 16px);padding:6px}.context-menu-title{margin:3px 8px 5px;color:#8f9aa4;font-size:12px;font-weight:800;letter-spacing:0;line-height:1.2;text-transform:none}.context-menu button,.mobile-action-menu button{min-height:38px;padding:0 10px;border-radius:8px;color:var(--tg-text);font-size:18px;font-weight:650;line-height:1.1;letter-spacing:0;gap:10px;text-transform:none}.context-menu button svg,.mobile-action-menu button svg{width:18px;height:18px;flex:0 0 auto}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible,.mobile-action-menu button:hover{background:#ffffff14}.context-menu button.danger,.mobile-action-menu button.danger{color:#ff8b7e}.emoji-search{border:0;border-radius:8px;background:#1d2024;color:#9aa3ad}.emoji-grid button{border-radius:7px;background:transparent}.emoji-grid button:hover{background:#ffffff14}@media(max-width:860px){.app-shell,.app-shell[data-theme=mobile]{--mobile-sidebar-height: 330px}.app-shell[data-theme=mobile] .sidebar{gap:8px;padding:10px 12px}.app-shell[data-theme=mobile] .conversation{grid-template-columns:42px minmax(0,1fr);min-height:60px}.app-shell[data-theme=mobile] .conversation .avatar{width:40px;height:40px}.app-shell[data-theme=mobile] .message-history{padding:12px 10px}}@media(max-width:520px){.app-shell,.app-shell[data-theme=mobile]{--mobile-sidebar-height: 318px}.message-history{padding:10px 8px}}@media(min-width:861px){.app-shell,.app-shell[data-theme=mobile]{grid-template-columns:280px minmax(0,1fr)}.app-shell[data-theme=mobile] .sidebar{padding:10px 8px 8px}.search-box,.app-shell[data-theme=mobile] .search-box{width:100%;min-height:34px;height:34px;border-radius:17px;padding:0 12px}.search-box input,.app-shell[data-theme=mobile] .search-box input{font-size:14px}.contact-tabs button,.app-shell[data-theme=mobile] .contact-tabs button{min-height:28px;height:28px;padding:0 10px;font-size:13px}.conversation,.app-shell[data-theme=mobile] .conversation{grid-template-columns:44px minmax(0,1fr) auto;min-height:56px;padding:7px 8px}.conversation .avatar,.app-shell[data-theme=mobile] .conversation .avatar{width:42px;height:42px}.conversation strong,.app-shell[data-theme=mobile] .conversation strong{font-size:15px}.conversation small,.app-shell[data-theme=mobile] .conversation small{font-size:14px}.chat-header,.app-shell[data-theme=mobile] .chat-header{min-height:52px;height:52px;padding:6px 18px}.pinned-message-strip,.app-shell[data-theme=mobile] .pinned-message-strip{min-height:36px;height:36px;padding:4px 18px}.pinned-message-text,.app-shell[data-theme=mobile] .pinned-message-text{font-size:14px}.message-history,.app-shell[data-theme=mobile] .message-history{padding:14px 18px 12px}.message,.app-shell[data-theme=mobile] .message{max-width:min(520px,72%);margin-bottom:6px;padding:7px 10px 5px}.message p,.app-shell[data-theme=mobile] .message p{font-size:15px;line-height:1.32}.message.emoji-only p,.app-shell[data-theme=mobile] .message.emoji-only p{font-size:150px;line-height:1}.message-meta{font-size:13px}.composer,.app-shell[data-theme=mobile] .composer{min-height:46px;height:46px;padding:5px 12px}.composer textarea,.app-shell[data-theme=mobile] .composer textarea{height:36px;min-height:36px;padding:8px 14px;font-size:15px}.file-picker,.voice-button,.emoji-button,.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .voice-button,.app-shell[data-theme=mobile] .emoji-button,.send-button,.app-shell[data-theme=mobile] .send-button{width:36px;min-width:36px;height:36px}.context-menu button,.mobile-action-menu button{min-height:36px;font-size:15px;font-weight:650}}@media(min-width:1600px){.app-shell,.app-shell[data-theme=mobile]{grid-template-columns:340px minmax(0,1fr)}.search-box,.app-shell[data-theme=mobile] .search-box{min-height:40px;height:40px;border-radius:20px}.search-box input,.app-shell[data-theme=mobile] .search-box input{font-size:15px}.contact-tabs button,.app-shell[data-theme=mobile] .contact-tabs button{min-height:34px;height:34px;font-size:14px}.conversation,.app-shell[data-theme=mobile] .conversation{grid-template-columns:52px minmax(0,1fr) auto;min-height:68px;padding:9px 10px}.conversation .avatar,.app-shell[data-theme=mobile] .conversation .avatar{width:48px;height:48px}.conversation strong,.app-shell[data-theme=mobile] .conversation strong{font-size:17px}.conversation small,.app-shell[data-theme=mobile] .conversation small{font-size:15px}.conversation time,.conversation.incoming time{font-size:13px}.chat-header,.app-shell[data-theme=mobile] .chat-header{min-height:60px;height:60px;padding:8px 20px}.chat-title h1,.app-shell[data-theme=mobile] .chat-title h1,h1{font-size:18px}.eyebrow,.chat-title .eyebrow,.app-shell[data-theme=mobile] .chat-title .eyebrow{font-size:13px}.message-history,.app-shell[data-theme=mobile] .message-history{padding:18px 24px 14px}.message,.app-shell[data-theme=mobile] .message{max-width:min(620px,72%);padding:9px 12px 7px}.message p,.app-shell[data-theme=mobile] .message p{font-size:18px;line-height:1.34}.message.emoji-only p,.app-shell[data-theme=mobile] .message.emoji-only p{font-size:180px;line-height:1}.message-meta{font-size:14px}.receipt{font-size:12px}.composer,.app-shell[data-theme=mobile] .composer{min-height:58px;height:58px;padding:7px 16px}.composer textarea,.app-shell[data-theme=mobile] .composer textarea{height:42px;min-height:42px;padding:10px 16px;font-size:16px}.file-picker,.voice-button,.emoji-button,.app-shell[data-theme=mobile] .file-picker,.app-shell[data-theme=mobile] .voice-button,.app-shell[data-theme=mobile] .emoji-button,.send-button,.app-shell[data-theme=mobile] .send-button{width:42px;min-width:42px;height:42px}}
