:root{--tg-bg:#dce6f2;--tg-shell:#f6f9fc;--tg-sidebar-bg:#ffffff;--tg-sidebar-border:#dbe5f0;--tg-chat-header:#fdfefe;--tg-chat-border:#d2deea;--tg-text:#1f2a35;--tg-muted:#6b7f93;--tg-accent:#2a9ef2;--tg-accent-strong:#1f8fdf;--tg-bubble-in:#ffffff;--tg-bubble-out:#daf4c6;--tg-shadow:0 14px 42px rgba(15,23,42,0.13);--tg-body-grad-top:#dee8f4;--tg-body-grad-bottom:#d3deeb;--tg-body-glow-1:rgba(255,255,255,0.44);--tg-body-glow-2:rgba(255,255,255,0.32);--tg-body-glow-3:rgba(213,227,244,0.52);--tg-chat-grad-top:#d9e4f1;--tg-chat-grad-bottom:#d1ddec;--tg-chat-glow-1:rgba(255,255,255,0.34);--tg-chat-glow-2:rgba(255,255,255,0.32);--tg-chat-glow-3:rgba(206,223,241,0.48);--tg-surface-elevated:rgba(255,255,255,0.94);--tg-font:"Segoe UI Variable Display","Segoe UI","Noto Sans","Roboto","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--tg-text);font-family:var(--tg-font)}html[data-theme=dark]{--tg-bg:#070d16;--tg-shell:#0b1422;--tg-sidebar-bg:#0d1726;--tg-sidebar-border:#1b2a40;--tg-chat-header:#101d2f;--tg-chat-border:#25354c;--tg-text:#deebfa;--tg-muted:#8ca5c2;--tg-accent:#45a5ff;--tg-accent-strong:#2d93f0;--tg-bubble-in:#13253a;--tg-bubble-out:#1d4736;--tg-shadow:0 18px 46px rgba(2,7,15,0.52);--tg-body-grad-top:#08111d;--tg-body-grad-bottom:#040a14;--tg-body-glow-1:rgba(19,40,68,0.28);--tg-body-glow-2:rgba(25,55,93,0.24);--tg-body-glow-3:rgba(16,31,55,0.45);--tg-chat-grad-top:#0c1a2b;--tg-chat-grad-bottom:#091523;--tg-chat-glow-1:rgba(40,71,112,0.22);--tg-chat-glow-2:rgba(37,76,120,0.18);--tg-chat-glow-3:rgba(24,46,77,0.34);--tg-surface-elevated:rgba(12,23,38,0.88)}html[data-theme=navy]{--tg-bg:#091427;--tg-shell:#0c1b31;--tg-sidebar-bg:#0a1730;--tg-sidebar-border:#1a2d4e;--tg-chat-header:#112341;--tg-chat-border:#20395f;--tg-text:#d3e5fb;--tg-muted:#7d9dc4;--tg-accent:#57b3ff;--tg-accent-strong:#3da2ef;--tg-bubble-in:#152a47;--tg-bubble-out:#255a52;--tg-surface-elevated:rgba(12,24,46,0.9)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--tg-text);background:linear-gradient(135deg,var(--tg-body-glow-1) 0,transparent 46%),radial-gradient(circle at 12% 18%,var(--tg-body-glow-2) 0,transparent 26%),radial-gradient(circle at 92% 86%,var(--tg-body-glow-3) 0,transparent 28%),linear-gradient(180deg,var(--tg-body-grad-top) 0,var(--tg-body-grad-bottom) 100%),var(--tg-bg)}button,input,select{font:inherit}input,select{width:100%;border:1px solid var(--tg-chat-border);border-radius:10px;padding:.58rem .78rem;background:#fff;color:var(--tg-text);transition:border-color .16s ease,box-shadow .16s ease}input:focus,select:focus{outline:none;border-color:#86bdf4;box-shadow:0 0 0 3px rgba(51,144,236,.15)}button{border:none;border-radius:10px;background:var(--tg-accent);color:#fff;padding:.5rem .86rem;cursor:pointer;font-weight:500;transition:background-color .15s ease,transform .12s ease,box-shadow .15s ease}button:hover{background:var(--tg-accent-strong)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.65;transform:none}.auth-layout,.centered{display:grid;place-items:center;min-height:100vh}.auth-layout{padding:1.2rem}.card{width:100%;max-width:440px;border-radius:18px;border:1px solid #dde6f0;background:var(--tg-shell);box-shadow:var(--tg-shadow);padding:1.4rem;gap:.92rem}.card,.column{display:flex;flex-direction:column}.column{gap:.78rem}.muted{color:var(--tg-muted)}.error{color:#c92850;margin:0}.chat-shell{height:100vh;min-height:100vh;display:grid;grid-template-columns:340px minmax(0,1fr);background:var(--tg-shell);overflow:hidden}.chat-sidebar{display:flex;flex-direction:column;gap:.72rem;padding:.72rem;background:linear-gradient(180deg,color-mix(in srgb,var(--tg-surface-elevated) 84%,transparent) 0,color-mix(in srgb,var(--tg-surface-elevated) 96%,transparent) 100%),var(--tg-sidebar-bg);border-right:1px solid var(--tg-sidebar-border);max-height:100vh;box-shadow:inset -1px 0 0 color-mix(in srgb,var(--tg-text) 10%,transparent)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;gap:.66rem;padding:.3rem .36rem}.sidebar-header-actions{position:relative;display:flex;align-items:center;gap:.34rem}.sidebar-header h2{margin:0;font-size:1.28rem;line-height:1.18}.sidebar-brand{display:flex;align-items:center;gap:.58rem;min-width:0}.brand-logo{width:2rem;height:2rem;border-radius:999px;background:linear-gradient(135deg,#5cb4ff,#2d86dc);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.brand-meta{min-width:0}.brand-title-row{display:flex;align-items:center;gap:.45rem}.brand-meta p{margin:.2rem 0 0;font-size:.8rem}.global-unread-badge{min-width:1.4rem;height:1.4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .4rem;background:#3f98f0;color:#fff;font-size:.76rem;font-weight:700}.sidebar-primary-actions{padding:0 .24rem}.create-toggle-button{width:100%;border-radius:999px;padding:.5rem .9rem;font-size:.84rem}.account-avatar-button{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 80%,transparent);background:color-mix(in srgb,var(--tg-shell) 90%,transparent);color:var(--tg-text);padding:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700}.account-avatar-button:hover{background:color-mix(in srgb,var(--tg-accent) 14%,transparent)}.account-avatar-image{width:100%;height:100%;object-fit:cover}.account-menu{position:absolute;right:0;top:calc(100% + .34rem);z-index:25;min-width:180px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--tg-surface-elevated) 95%,transparent);box-shadow:0 10px 26px rgba(15,23,42,.26);padding:.42rem;display:flex;flex-direction:column;gap:.2rem}.account-menu strong{font-size:.84rem;padding:.2rem .3rem;color:var(--tg-muted)}.account-menu .link-button{text-align:left;padding:.35rem .45rem}.new-chat-form{display:flex;flex-direction:column;gap:.4rem;padding:0 .24rem}.new-chat-mode{border-radius:999px}.new-chat-form button{align-self:flex-start;border-radius:999px;padding:.4rem .82rem}.channel-public-toggle{display:inline-flex;align-items:center;gap:.42rem;font-size:.82rem;color:var(--tg-muted)}.channel-public-toggle input[type=checkbox]{width:auto;margin:0}.chat-list-search{padding:0 .24rem;display:flex;flex-direction:column;gap:.22rem}.chat-list-search input{border-radius:999px;padding-left:.86rem}.admin-builds-panel{margin:.58rem .24rem .2rem;padding:.56rem .62rem;border:1px solid #cad8e7;border-radius:12px;background:rgba(255,255,255,.78);display:flex;flex-direction:column;gap:.4rem}.admin-builds-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-builds-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem}.admin-builds-actions button{border-radius:10px;font-size:.78rem;padding:.36rem .4rem}.admin-builds-status-list{display:flex;flex-direction:column;gap:.34rem}.admin-builds-status-item{border:1px solid #d4deeb;border-radius:10px;background:rgba(250,252,255,.92);padding:.38rem .44rem;display:flex;flex-direction:column;gap:.16rem}.admin-builds-status-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem;font-size:.82rem}.admin-builds-files{display:flex;flex-direction:column;gap:.22rem}.admin-build-download-link{color:#2363ac;text-decoration:none;font-size:.8rem;word-break:break-word}.admin-build-download-link:hover{text-decoration:underline}.admin-build-log{border:1px solid #d4deeb;border-radius:9px;background:#f8fbff;padding:.3rem .38rem}.admin-build-log summary{cursor:pointer;color:#4f6478;font-size:.75rem}.admin-build-log pre{margin:.38rem 0 0;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:.72rem;line-height:1.3}.chat-list{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:.25rem;padding:0 .18rem .25rem}.chat-item{width:100%;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--tg-text);text-align:left;padding:.56rem .62rem;display:flex;flex-direction:row;align-items:center;gap:.58rem}.chat-item:hover{background:#ebf2fa}.chat-item.active{background:#dcecff;border-color:#b8d7f6}.chat-item-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.45rem}.chat-item-row strong{font-size:.9rem}.chat-item-main{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:.16rem}.chat-item-bottom{align-items:center}.chat-item-time{color:#8ba0b5;font-size:.72rem;white-space:nowrap}.chat-avatar{position:relative;width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid rgba(15,23,42,.06);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;overflow:hidden}.chat-avatar-image{width:100%;height:100%;object-fit:cover}.chat-avatar-status{position:absolute;right:2px;bottom:2px;width:.58rem;height:.58rem;border-radius:999px;border:2px solid #f5f7fb}.chat-avatar-status.online{background:#37c25b}.chat-avatar-status.offline{background:#9fb2c4}.unread-badge{min-width:1.22rem;height:1.22rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .35rem;background:var(--tg-accent);color:#fff;font-size:.74rem;font-weight:700}.preview{color:#586b7f;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.chat-main{position:relative;display:flex;flex-direction:column;min-height:100vh;max-height:100vh;overflow:hidden;background:linear-gradient(135deg,var(--tg-chat-glow-1) 0,transparent 42%),radial-gradient(circle at 8% 12%,var(--tg-chat-glow-2) 0,transparent 20%),radial-gradient(circle at 82% 78%,var(--tg-chat-glow-3) 0,transparent 24%),linear-gradient(180deg,var(--tg-chat-grad-top) 0,var(--tg-chat-grad-bottom) 100%)}.chat-main.mobile-hidden,.chat-sidebar.mobile-hidden{display:none}.mobile-back-button{border-radius:999px;padding:.38rem .72rem;font-size:.8rem;line-height:1}.chat-main-header{display:flex;align-items:center;gap:.7rem;padding:.78rem .94rem;background:color-mix(in srgb,var(--tg-chat-header) 92%,transparent);border-bottom:1px solid var(--tg-chat-border);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.chat-main-header h3{margin:0;min-width:0;font-size:.97rem}.chat-peer-head{display:flex;align-items:center;gap:.56rem;min-width:180px}.chat-peer-avatar{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid rgba(15,23,42,.08);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.86rem;flex-shrink:0;overflow:hidden;padding:0;color:inherit;cursor:pointer}.chat-peer-avatar:hover{filter:brightness(1.04)}.chat-peer-avatar-image{width:100%;height:100%;object-fit:cover}.chat-peer-meta{min-width:0}.chat-peer-meta h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer-status{display:block;margin-top:.08rem;font-size:.74rem}.peer-status.online{color:#2f9b47}.peer-status.offline{color:#8397ab}.chat-search{flex:1 1;max-width:580px;display:flex;gap:.45rem;align-items:center}.chat-search-panel{margin:.52rem .95rem 0;border:1px solid color-mix(in srgb,var(--tg-chat-border) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--tg-surface-elevated) 92%,transparent);padding:.42rem .52rem}.chat-search input{border-radius:999px;padding-left:.92rem}.chat-search button{border-radius:999px;padding:.45rem .88rem}.call-actions{margin-left:auto;display:flex;align-items:center;gap:.38rem;flex-wrap:wrap}.call-actions .muted{font-size:.84rem;margin-right:.2rem}.emoji-action-button{width:2.1rem;height:2.1rem;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.02rem}.emoji-action-button.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--tg-accent) 44%,transparent)}.call-panel{margin:.55rem .95rem 0;border:1px solid #cad8e7;background:rgba(244,249,255,.93);border-radius:12px;padding:.62rem .72rem;display:flex;flex-direction:column;gap:.55rem}.call-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.call-row button{border-radius:999px;padding:.34rem .76rem;font-size:.84rem}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));grid-gap:.58rem;gap:.58rem}.video-tile{margin:0;border-radius:12px;overflow:hidden;border:1px solid #334155;background:#0f172a}.video-box{width:100%;min-height:150px;background:#111827}.video-label{display:block;padding:.4rem .52rem;font-size:.8rem;color:#f8fafc;background:rgba(15,23,42,.9)}.pinned-banner{margin:.56rem .95rem 0;border:1px solid #c6d7ea;background:rgba(240,247,255,.95);border-radius:12px;padding:.48rem .62rem;display:flex;justify-content:space-between;gap:.64rem}.pinned-banner strong{font-size:.87rem}.pinned-banner p{margin:.2rem 0 0;color:#55708b;font-size:.81rem}.search-results{margin:.54rem .95rem 0;border:1px solid #c6d8ea;background:rgba(240,247,255,.95);border-radius:12px;padding:.44rem .6rem;display:flex;flex-direction:column;gap:.34rem}.search-results-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.search-results-list{display:flex;flex-direction:column;gap:.28rem;max-height:210px;overflow:auto}.search-result-item{width:100%;text-align:left;border:1px solid #c7d9ec;border-radius:10px;background:#ffffff;color:var(--tg-text);padding:.42rem .52rem;display:flex;flex-direction:column;gap:.12rem}.search-result-item:hover{background:#f2f8ff}.search-result-item strong{font-size:.84rem}.search-result-item span{color:#4f6478;font-size:.81rem}.search-result-item small{color:#6b7f92;font-size:.73rem}.public-channel-results{margin:.1rem .24rem .2rem;border:1px solid color-mix(in srgb,var(--tg-chat-border) 78%,transparent);border-radius:12px;background:color-mix(in srgb,var(--tg-surface-elevated) 82%,transparent);display:flex;flex-direction:column;gap:.14rem;max-height:180px;overflow:auto;padding:.32rem}.public-channel-item{border-radius:10px;padding:.34rem .42rem;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.public-channel-item:hover{border-color:color-mix(in srgb,var(--tg-accent) 36%,transparent);background:color-mix(in srgb,var(--tg-accent) 10%,transparent)}.public-channel-item div{display:flex;flex-direction:column;min-width:0}.public-channel-item strong{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-channel-item small,.public-channel-item span{font-size:.74rem;color:var(--tg-muted)}.members-panel{margin:.55rem .95rem 0;border:1px solid color-mix(in srgb,var(--tg-chat-border) 78%,transparent);background:color-mix(in srgb,var(--tg-surface-elevated) 86%,transparent);border-radius:12px;padding:.58rem .68rem;display:flex;flex-direction:column;gap:.42rem}.members-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.members-list{display:flex;flex-direction:column;gap:.22rem;max-height:180px;overflow:auto}.member-item{border-radius:10px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 70%,transparent);background:color-mix(in srgb,var(--tg-shell) 88%,transparent);padding:.32rem .42rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.member-item strong{font-size:.82rem}.member-item small{display:block;color:var(--tg-muted);font-size:.74rem}.member-item-actions{display:inline-flex;align-items:center;gap:.32rem}.members-manage-form{display:grid;grid-template-columns:1fr auto;grid-gap:.35rem;gap:.35rem}.messages{position:relative;flex:1 1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.36rem;padding:.82rem .94rem}.messages-end-anchor{width:100%;height:1px}.message{position:relative;max-width:min(76%,560px);padding:.56rem .72rem;border-radius:16px;display:flex;flex-direction:column;gap:.22rem;box-shadow:0 3px 9px rgba(15,23,42,.08)}.message.own{margin-left:auto;background:var(--tg-bubble-out);border-top-right-radius:7px}.message.own:after{content:"";position:absolute;right:-7px;top:0;border-left:8px solid var(--tg-bubble-out);border-top:8px solid transparent}.message.peer{margin-right:auto;background:var(--tg-bubble-in);border-top-left-radius:7px}.message.peer:after{content:"";position:absolute;left:-7px;top:0;border-right:8px solid var(--tg-bubble-in);border-top:8px solid transparent}.message.video-note-message{padding:0;box-shadow:none;background:transparent;max-width:240px}.message.video-note-message:after{display:none}.message.video-note-message .message-meta{margin:.14rem auto 0;color:#d8e7f5;background:rgba(12,22,38,.68);border-radius:999px;padding:.12rem .45rem}.message.voice-note-message{padding:0;box-shadow:none;background:transparent;max-width:320px}.message.voice-note-message:after{display:none}.message.voice-note-message .message-meta{margin:.16rem auto 0;color:#d8e7f5;background:rgba(12,22,38,.68);border-radius:999px;padding:.12rem .45rem}.message p{margin:0;line-height:1.34;font-size:.92rem;word-break:break-word}.message-author{font-size:.73rem;color:#4f7195;font-weight:600}.message-meta-quote{border-left:3px solid #87b9ef;background:rgba(220,233,247,.64);border-radius:8px;padding:.28rem .42rem;display:flex;flex-direction:column;gap:.14rem;margin-bottom:.2rem}.message-meta-quote strong{font-size:.74rem;color:#3f6790}.message-meta-quote span{color:#4e6277;font-size:.78rem}.message small{color:#6a7e93;font-size:.72rem}.message-meta{margin-left:auto}.reaction-list{display:flex;flex-wrap:wrap;gap:.24rem;margin-top:.08rem}.reaction-chip{border:1px solid #c7d8ea;background:#eff6fd;color:#284259;border-radius:999px;padding:.12rem .44rem;display:inline-flex;align-items:center;gap:.27rem}.reaction-chip:hover{background:#e7f1fc}.reaction-chip.own{border-color:#7db5eb;background:#dff0ff}.reaction-chip small{font-size:.71rem}.highlighted-message{outline:2px solid #77b2ea;outline-offset:2px;animation:message-highlight 2.2s ease}@keyframes message-highlight{0%{box-shadow:0 0 0 0 rgba(51,144,236,.36)}55%{box-shadow:0 0 0 8px rgba(51,144,236,.18)}to{box-shadow:0 0 0 0 rgba(51,144,236,0)}}.typing-indicator{min-height:1.15rem;padding:0 1rem .22rem;color:#5f758b;font-size:.83rem}.composer-context{margin:0 .85rem;border:1px solid #cadbee;border-radius:12px;background:rgba(243,249,255,.95);padding:.5rem .64rem;display:flex;align-items:center;justify-content:space-between;gap:.58rem}.composer-context strong{font-size:.86rem}.composer-context p{margin:.18rem 0 0;color:#587089;font-size:.8rem}.composer-context-actions{display:flex;align-items:center;gap:.38rem}.forward-target-field{display:flex;flex-direction:column;gap:.18rem;min-width:170px}.forward-target-select{border-radius:9px;padding:.35rem .46rem}.composer-stack{position:-webkit-sticky;position:sticky;bottom:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -10px 26px rgba(15,23,42,.11);padding-bottom:env(safe-area-inset-bottom,0);display:flex;flex-direction:column;gap:0}.composer-inline-state{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 .85rem;border:1px solid #c7d9ec;border-bottom:none;border-radius:12px 12px 0 0;background:rgba(244,250,255,.96);padding:.44rem .6rem}.composer-inline-actions{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap}.composer-bar{display:flex;align-items:center;min-height:56px;border-top:1px solid var(--tg-chat-border);background:rgba(251,253,255,.98)}.composer-icon-button,.composer-send-button,.composer-side-button{width:52px;height:56px;flex:0 0 52px;padding:0;border-radius:0;background:transparent;color:#6c8299;border:none;display:grid;place-items:center}.composer-side-button{width:58px;flex-basis:58px;border-right:1px solid color-mix(in srgb,var(--tg-chat-border) 82%,transparent)}.composer-send-button{width:58px;flex-basis:58px;border-left:1px solid color-mix(in srgb,var(--tg-chat-border) 82%,transparent);color:var(--tg-accent);background:color-mix(in srgb,var(--tg-accent) 10%,transparent)}.composer-icon-button:hover,.composer-side-button:hover{background:color-mix(in srgb,var(--tg-accent) 8%,transparent)}.composer-send-button:hover{background:color-mix(in srgb,var(--tg-accent) 18%,transparent)}.composer-icon-button:active,.composer-send-button:active,.composer-side-button:active{transform:none}.composer-icon-button svg,.composer-send-button svg,.composer-side-button svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.composer-send-button svg{stroke:none;fill:currentColor}.composer-record-button.video-mode{color:#4fb3ff}.composer-input-field{border:none;border-radius:0;background:transparent;height:56px;padding:0 .9rem;width:100%}.composer-input-field:focus{border:none;box-shadow:none}.composer-right-actions{margin-left:auto;display:flex;align-items:center}.composer-icon-button:disabled,.composer-send-button:disabled,.composer-side-button:disabled{opacity:.5}.recording-preview-card{margin:0 .85rem;border-radius:12px 12px 0 0;border:1px solid #c7d9ec;border-bottom:none;background:rgba(244,250,255,.96);padding:.48rem .56rem;display:flex;flex-direction:column;gap:.4rem}.recording-preview-card strong{font-size:.82rem}.recording-preview-actions{display:flex;align-items:center;gap:.46rem}.video-recording-overlay{position:fixed;inset:0;z-index:90;background:rgba(5,12,21,.74);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:grid;place-items:center;padding:1rem}.video-recording-panel{width:min(540px,100%);min-height:min(88dvh,760px);border-radius:24px;border:1px solid rgba(170,198,232,.34);background:radial-gradient(circle at 28% 16%,rgba(130,170,220,.2) 0,transparent 45%),linear-gradient(160deg,rgba(19,30,47,.98),rgba(12,20,34,.98));box-shadow:0 24px 54px rgba(2,8,16,.62);padding:.96rem .92rem calc(.96rem + env(safe-area-inset-bottom, 0));display:flex;flex-direction:column;gap:.9rem;align-items:center}.video-recording-head{width:100%;display:flex;justify-content:center}.video-recording-timer{display:inline-flex;align-items:center;gap:.46rem;border-radius:999px;padding:.32rem .66rem;font-size:1.45rem;font-weight:600;letter-spacing:.01em;color:#f9dfef;background:rgba(12,18,30,.66)}.video-recording-dot{width:.58rem;height:.58rem;border-radius:999px;background:#f0b4de;box-shadow:0 0 0 0 rgba(240,180,222,.44);animation:recording-dot-pulse 1.25s infinite}.video-recording-preview-wrap{position:relative;width:min(72vw,430px);aspect-ratio:1/1;border-radius:999px;overflow:hidden;background:#03070f;box-shadow:0 18px 34px rgba(4,12,22,.56),inset 0 0 0 1px rgba(227,241,255,.16)}.video-recording-preview-wrap:before{content:"";position:absolute;top:.6rem;left:50%;width:2.4rem;height:.32rem;margin-left:-1.2rem;border-radius:999px;background:rgba(236,246,255,.92);z-index:2}.video-recording-preview{width:100%;height:100%;object-fit:cover;background:#000}.video-recording-preview.mirrored{transform:scaleX(-1)}.video-recording-actions{width:100%;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.72rem}.video-recording-control{border:none;display:inline-flex;align-items:center;justify-content:center;padding:0}.video-recording-control.ghost{width:3.24rem;height:3.24rem;border-radius:999px;background:rgba(223,237,255,.16);color:#e8f4ff}.video-recording-control.ghost svg{width:1.52rem;height:1.52rem;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.video-recording-control.text{min-width:7.4rem;background:transparent;color:#efb0db;font-size:2.08rem;font-weight:600;letter-spacing:.01em}.video-recording-control.send{width:4.6rem;height:4.6rem;border-radius:999px;color:#6a2f55;background:radial-gradient(circle at 30% 22%,rgba(255,232,247,.9),rgba(236,179,221,.96)),rgba(239,186,224,.95);box-shadow:0 14px 32px rgba(237,169,216,.4),inset 0 0 0 10px rgba(39,15,34,.24)}.video-recording-control.send svg{width:1.86rem;height:1.86rem;fill:currentColor}.video-recording-control:active,.video-recording-control:hover{transform:none}.video-recording-control.ghost:hover{background:rgba(223,237,255,.24)}.video-recording-control.text:hover{background:transparent;color:#f6c3e5}.video-recording-control.send:hover{background:radial-gradient(circle at 30% 22%,rgba(255,232,247,.9),rgba(236,179,221,.96)),rgba(239,186,224,.95)}@keyframes recording-dot-pulse{0%{box-shadow:0 0 0 0 rgba(240,180,222,.44);opacity:.94}70%{box-shadow:0 0 0 11px rgba(240,180,222,0);opacity:1}to{box-shadow:0 0 0 0 rgba(240,180,222,0);opacity:.94}}.link-button{border:none;background:transparent;color:#346a9e;padding:.16rem .28rem;border-radius:7px;font-weight:500}.link-button:hover{background:rgba(51,144,236,.12);color:#2b5c8a}.danger-link{color:#bd1e45}.danger-link:hover{background:rgba(239,68,68,.12);color:#a11439}.hidden-file-input{display:none}.attachments{display:flex;flex-direction:column;gap:.38rem}.attachment-link{color:#1f3448;text-decoration:none;background:#f3f8ff;border:1px solid #c9dcec;border-radius:10px;padding:.42rem .52rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.attachment-link:hover{background:#edf5ff}.attachment-image-link{display:inline-block}.attachment-image{max-width:320px;max-height:260px;border-radius:12px;border:1px solid #c3d8ef;object-fit:cover}.attachment-media{display:flex;flex-direction:column;gap:.25rem}.audio-player{width:100%;min-width:220px}.voice-note-player{min-width:0;width:min(300px,100%);border-radius:999px;background:#eef4fb}.video-player{width:min(340px,100%);border-radius:12px;border:1px solid #bfd6ee;background:#0f172a}.video-note-wrap{position:relative;width:220px;height:220px;border-radius:999px;overflow:hidden;border:none;box-shadow:0 7px 20px rgba(5,24,46,.42)}.video-note-wrap:after{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(180deg,transparent 58%,rgba(8,22,39,.42));pointer-events:none}.video-note-player{width:100%;height:100%;border-radius:999px;object-fit:cover;background:#0f172a;border:none}.message-context-menu{position:fixed;z-index:35;min-width:220px;max-width:min(260px,calc(100vw - 18px));display:flex;flex-direction:column;gap:.15rem;border-radius:12px;border:1px solid #c8d8ea;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(15,23,42,.2);padding:.36rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.message-context-menu .link-button{text-align:left;padding:.34rem .45rem}.message-context-reactions{display:flex;flex-wrap:wrap;gap:.2rem;margin-bottom:.15rem}.empty-chat{margin:auto;text-align:center;padding:1rem}.peer-profile-backdrop{position:fixed;inset:0;z-index:75;background:rgba(5,14,26,.56);display:grid;place-items:center;padding:1rem}.peer-profile-modal{width:min(420px,100%);border-radius:14px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 84%,transparent);background:color-mix(in srgb,var(--tg-surface-elevated) 96%,transparent);box-shadow:0 18px 48px rgba(8,20,36,.34);padding:.82rem;display:flex;flex-direction:column;gap:.62rem}.peer-profile-head{display:flex;align-items:center;gap:.62rem}.peer-profile-head h3{margin:0;font-size:1rem}.peer-profile-head small{display:block;color:var(--tg-muted);font-size:.78rem}.peer-profile-avatar{width:3.2rem;height:3.2rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 84%,transparent);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700}.peer-profile-avatar-image{width:100%;height:100%;object-fit:cover}.peer-profile-actions{display:flex;align-items:center;gap:.44rem;flex-wrap:wrap}.peer-profile-modal label{display:flex;flex-direction:column;gap:.2rem}.profile-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.profile-card{width:min(520px,100%);border-radius:16px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 80%,transparent);background:color-mix(in srgb,var(--tg-surface-elevated) 92%,transparent);box-shadow:var(--tg-shadow);padding:.92rem;display:flex;flex-direction:column;gap:.72rem}.profile-card-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.profile-card-head h2{margin:0;font-size:1.06rem}.profile-avatar-block{display:flex;align-items:center;gap:.7rem}.profile-avatar-fallback,.profile-avatar-image{width:72px;height:72px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tg-chat-border) 72%,transparent);object-fit:cover}.profile-avatar-fallback{display:grid;place-items:center;font-weight:700;font-size:1.1rem;background:linear-gradient(135deg,#57b5ff,#2f8ee4);color:#fff}.profile-avatar-actions{display:flex;flex-direction:column;gap:.42rem}.profile-upload-label{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.42rem .76rem;border:1px solid color-mix(in srgb,var(--tg-accent) 44%,transparent);color:color-mix(in srgb,var(--tg-accent) 80%,#ffffff);cursor:pointer;font-size:.82rem;background:color-mix(in srgb,var(--tg-accent) 10%,transparent)}.profile-upload-label:hover{background:color-mix(in srgb,var(--tg-accent) 18%,transparent)}.profile-upload-label input{display:none}.profile-form{gap:.58rem}.profile-form,.profile-form label{display:flex;flex-direction:column}.profile-form label{gap:.22rem}.profile-modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(7,20,36,.52);display:grid;place-items:center;padding:1rem}.profile-modal{width:min(460px,100%);border-radius:14px;border:1px solid #c8d8eb;background:#f8fbff;box-shadow:0 18px 48px rgba(8,20,36,.38);padding:.92rem;display:flex;flex-direction:column;gap:.62rem}.profile-modal h3{margin:0}.profile-modal-actions{display:flex;align-items:center;gap:.5rem}.floating-error,.floating-notice{position:fixed;right:1rem;max-width:min(520px,calc(100vw - 2rem));padding:.62rem .78rem;border-radius:10px;box-shadow:var(--tg-shadow)}.floating-error{bottom:1rem;border:1px solid #fecdd3;background:#fff3f4;color:#9d1239}.floating-notice{bottom:1rem;border:1px solid #bfdbfe;background:#edf6ff;color:#1d4f7a}.floating-notice.with-error{bottom:4.8rem}@keyframes ui-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-item,.members-panel,.message,.public-channel-results,.search-results{animation:ui-fade-up .2s ease both}html[data-theme=dark] input,html[data-theme=dark] select{background:#0d1a29;border-color:#25374d;color:var(--tg-text)}html[data-theme=dark] input::placeholder{color:#7390af}html[data-theme=dark] .card{border-color:#1f3046;background:rgba(10,20,34,.92)}html[data-theme=dark] .chat-item:hover{background:rgba(58,106,162,.16)}html[data-theme=dark] .chat-item.active{background:rgba(60,127,199,.24);border-color:rgba(83,151,223,.38)}html[data-theme=dark] .chat-item-time,html[data-theme=dark] .peer-status.offline,html[data-theme=dark] .preview{color:#86a2bf}html[data-theme=dark] .chat-avatar-status{border-color:#0e1a2a}html[data-theme=dark] .account-menu,html[data-theme=dark] .admin-build-log,html[data-theme=dark] .admin-builds-panel,html[data-theme=dark] .admin-builds-status-item,html[data-theme=dark] .call-panel,html[data-theme=dark] .chat-search-panel,html[data-theme=dark] .composer-context,html[data-theme=dark] .member-item,html[data-theme=dark] .peer-profile-modal,html[data-theme=dark] .pinned-banner,html[data-theme=dark] .profile-card,html[data-theme=dark] .recording-preview-card,html[data-theme=dark] .search-results{background:rgba(13,25,40,.9);border-color:#27405c}html[data-theme=dark] .attachment-link,html[data-theme=dark] .message-context-menu,html[data-theme=dark] .search-result-item{background:rgba(11,23,38,.96);border-color:#2a435f;color:var(--tg-text)}html[data-theme=dark] .voice-note-player,html[data-theme=navy] .voice-note-player{background:rgba(10,20,33,.9)}html[data-theme=dark] .message-author{color:#7cb8ef}html[data-theme=dark] .message-meta-quote{border-left-color:#4f8fcd;background:rgba(48,78,110,.36)}html[data-theme=dark] .composer-bar,html[data-theme=dark] .composer-inline-state,html[data-theme=dark] .recording-preview-card{background:rgba(10,18,29,.96)}html[data-theme=dark] .composer-inline-state,html[data-theme=dark] .recording-preview-card{border-color:#27405c}html[data-theme=dark] .composer-side-button{color:#93b1ce;border-right-color:#213852}html[data-theme=dark] .composer-send-button{border-left-color:#213852}html[data-theme=dark] .composer-icon-button{color:#8ea7c3}html[data-theme=dark] .composer-icon-button:hover,html[data-theme=dark] .composer-side-button:hover{background:rgba(69,166,255,.13)}html[data-theme=dark] .floating-error{border-color:#7e2438;background:rgba(68,18,30,.95);color:#fec3cf}html[data-theme=dark] .floating-notice{border-color:#2c537f;background:rgba(14,35,56,.95);color:#b9dcff}@media (max-width:1100px){.chat-shell{grid-template-columns:312px minmax(0,1fr)}.chat-main-header{flex-wrap:wrap;align-items:stretch}.chat-peer-head{width:100%}.chat-search{width:100%;max-width:none}.call-actions{width:100%}}@media (max-width:900px){.chat-shell{height:100dvh;min-height:100dvh;grid-template-columns:1fr;overflow:hidden}.chat-sidebar{border-right:none;border-bottom:none;padding-bottom:calc(.72rem + env(safe-area-inset-bottom, 0))}.chat-main,.chat-sidebar{max-height:100dvh;min-height:100dvh}.chat-main{height:100dvh}.chat-main-header{padding-top:calc(.52rem + env(safe-area-inset-top, 0))}.mobile-back-button{order:-1}.messages{padding:.68rem .58rem .42rem}.message{max-width:88%}.video-note-wrap{width:200px;height:200px}.video-recording-overlay{padding:.58rem}.video-recording-panel{width:100%;min-height:100dvh;border-radius:18px;padding-top:calc(.72rem + env(safe-area-inset-top, 0))}.video-recording-preview-wrap{width:min(86vw,390px)}.video-recording-control.text{min-width:6.2rem;font-size:1.82rem}.video-recording-control.send{width:4.2rem;height:4.2rem}.composer-stack{margin-top:auto}.composer-inline-state,.recording-preview-card{margin-left:.58rem;margin-right:.58rem}.composer-send-button,.composer-side-button{width:54px;flex-basis:54px}.composer-context{flex-direction:column;align-items:stretch;margin:0 .58rem}.composer-context-actions{flex-wrap:wrap;width:100%}.forward-target-field{min-width:140px;flex:1 1}.video-grid{grid-template-columns:1fr}.floating-error,.floating-notice{left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom, 0));max-width:none}.floating-notice.with-error{bottom:calc(4.8rem + env(safe-area-inset-bottom, 0))}.profile-modal{width:100%;max-width:none}.members-manage-form{grid-template-columns:1fr}.members-panel{margin:.5rem .58rem 0}.profile-card{border-radius:14px}.profile-avatar-block{flex-direction:column;align-items:flex-start}}.chat-list,.messages,.search-results-list{scrollbar-width:thin;scrollbar-color:#b8c9db transparent}.chat-list::-webkit-scrollbar,.messages::-webkit-scrollbar,.search-results-list::-webkit-scrollbar{width:9px}.chat-list::-webkit-scrollbar-thumb,.messages::-webkit-scrollbar-thumb,.search-results-list::-webkit-scrollbar-thumb{background:#b8c9db;border-radius:999px}.chat-list::-webkit-scrollbar-track,.messages::-webkit-scrollbar-track,.search-results-list::-webkit-scrollbar-track{background:transparent}