:root{--bg-app:#0e1621;--bg-panel:#17212b;--bg-elevated:#1f2c3a;--bg-hover:#202b36;--bg-active:#2b5278;--bg-input:#242f3d;--bubble-in:#182533;--bubble-out:#2b5278;--border:#0b1219;--text:#f5f5f5;--text-secondary:#708499;--text-on-accent:#fff;--accent:#5288c1;--accent-hover:#6aa0d8;--accent-text:#6ab3f3;--danger:#e5534b;--success:#4fae4e;--badge:#3e6a99;--shadow:0 8px 28px #00000073;--radius:12px;--radius-bubble:14px;--sidebar-w:360px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{left:0;right:0;top:var(--app-top,0px);height:100vh;height:var(--app-h,100dvh);position:fixed;overflow:hidden}html,body{overscroll-behavior:none}body{background:var(--bg-app);color:var(--text);font:15px/1.4 var(--font);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea{font:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--bg-active)}.btn{background:var(--accent);height:48px;color:var(--text-on-accent);letter-spacing:.2px;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;transition:background .15s;display:inline-flex}@media (hover:hover){.btn:hover:not(:disabled){background:var(--accent-hover)}}.btn:disabled{opacity:.55;cursor:default}.btn--block{width:100%}.btn--ghost{color:var(--accent-text);background:0 0}@media (hover:hover){.btn--ghost:hover:not(:disabled){background:var(--bg-hover)}}.btn--danger{background:var(--danger)}@media (hover:hover){.btn--danger:hover:not(:disabled){background:#f06a62}}.link{color:var(--accent-text);font-size:14px}@media (hover:hover){.link:hover{text-decoration:underline}}.link:disabled{color:var(--text-secondary);cursor:default;text-decoration:none}.field{background:var(--bg-input);border:1px solid #2f3b48;border-radius:10px;outline:none;width:100%;height:52px;padding:0 16px;transition:border-color .15s}.field:focus{border-color:var(--accent)}.field--error{border-color:var(--danger)}.field--area{resize:none;height:auto;padding:12px 16px;line-height:1.4}.icon-btn{width:40px;height:40px;color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}@media (hover:hover){.icon-btn:hover{background:var(--bg-hover);color:var(--text)}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{color:#fff;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.auth{background:radial-gradient(1200px 600px at 50% -10%, #1b2a3a 0%, var(--bg-app) 60%);place-items:center;height:100%;padding:24px 16px;display:grid;overflow-y:auto}.auth__card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:380px;display:flex}.auth__logo{background:var(--accent);border-radius:28px;place-items:center;width:104px;height:104px;margin-bottom:14px;display:grid;box-shadow:0 10px 40px #5288c159}.auth__title{margin:0;font-size:24px;font-weight:700}.auth__hint{color:var(--text-secondary);margin:0 0 10px;font-size:15px}.auth__form{flex-direction:column;gap:14px;width:100%;display:flex}.auth__error{min-height:20px;color:var(--danger);text-align:left;margin:-4px 0 0;font-size:14px}.auth__note{text-align:left;min-height:20px;color:var(--text-secondary);margin:-4px 0 0;font-size:14px}.auth__note--ok{color:var(--success)}.auth__label{color:var(--text-secondary);text-align:left;margin-bottom:-8px;font-size:13px}.auth__code{text-align:center;letter-spacing:12px;font-variant-numeric:tabular-nums;font-size:28px}.auth__prefixed{position:relative}.auth__prefixed .field{padding-left:34px}.auth__prefix{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth__row{justify-content:space-between;gap:12px;width:100%;display:flex}.shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.shell>.main{flex:1 1 0;height:auto;min-height:0}.shell--callbar .sidebar,.shell--callbar .chat__header{padding-top:0}.announce{padding:10px 8px 10px 14px;padding-top:max(10px, env(safe-area-inset-top));background:var(--bg-elevated);border-bottom:1px solid var(--border);color:var(--text);flex:none;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.announce--warning{background:#3a2f16}.announce__icon{width:20px;height:20px;color:var(--accent-text);flex:none;margin-top:1px}.announce--warning .announce__icon{color:#f0b94a}.announce__text{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.announce__close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-6px 0;display:grid}.announce__close svg{width:18px;height:18px}@media (hover:hover){.announce__close:hover{background:var(--bg-hover)}}.announce__close:active{background:var(--bg-hover)}.shell--callbar .announce{padding-top:10px}.announce~.main .sidebar,.announce~.main .chat__header{padding-top:0}.main{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);height:100%;display:grid;overflow:hidden}.sidebar{min-width:0;min-height:0;padding-top:env(safe-area-inset-top);background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;display:flex}.sidebar__top{flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.search{background:var(--bg-input);border:1px solid #0000;border-radius:20px;outline:none;flex:1;height:40px;padding:0 16px}.search:focus{border-color:var(--accent);background:var(--bg-app)}.sidebar__status{color:var(--text-secondary);flex:none;padding:0 16px 8px;font-size:13px}.chatlist{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;padding:0 6px 8px;overflow-y:auto}.chatlist__empty{text-align:center;color:var(--text-secondary);padding:32px 20px;font-size:14px}.chatitem{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}@media (hover:hover){.chatitem:hover{background:var(--bg-hover)}}.chatitem--pressed,.chatitem--menu{background:var(--bg-hover)}.chatitem--active,.chatitem--active:hover{background:var(--bg-active)}.chatitem__body{flex:1;min-width:0}.chatitem__row{align-items:center;gap:8px;display:flex}.chatitem__name{flex:1;align-items:center;gap:4px;min-width:0;font-weight:600;display:flex}.chatitem__title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.chatitem--saved .chatitem__title{font-size:16px}.chatitem__time{color:var(--text-secondary);flex:none;font-size:12px}.chatitem__preview{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.chatitem--active .chatitem__preview,.chatitem--active .chatitem__time{color:#c5d6e8}.chatitem__preview b{color:var(--text);font-weight:400}.chatitem--active .chatitem__preview b{color:#fff}.chatitem__typing{color:var(--accent-text)}.badge{background:var(--badge);color:#fff;border-radius:11px;flex:none;place-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:600;display:grid}.chatitem--active .badge{color:var(--bg-active);background:#fff}.menu{z-index:50;background:var(--bg-elevated);min-width:200px;box-shadow:var(--shadow);border-radius:10px;padding:6px 0;animation:.12s ease-out pop;position:fixed}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.menu{--menu-pad:16px;--menu-icon:20px;--menu-gap:14px}.menu__item{align-items:center;gap:var(--menu-gap);width:100%;padding:9px var(--menu-pad);text-align:left;font-size:14px;line-height:20px;display:flex}.menu__item>svg{width:var(--menu-icon);height:var(--menu-icon);flex:none}.menu__item:not(:has(>svg)){padding-left:calc(var(--menu-pad) + var(--menu-icon) + var(--menu-gap))}@media (hover:hover){.menu__item:hover{background:var(--bg-hover)}}.menu__item svg{color:var(--text-secondary)}.menu__item--danger,.menu__item--danger svg{color:var(--danger)}.menu__sep{background:#2a3645;height:1px;margin:6px 0}.menu__label{padding:6px var(--menu-pad) 2px;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.menu__item--checked:after{content:"✓";color:var(--accent-text);margin-left:auto}.chat{background:var(--bg-app);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.chat--empty{place-items:center;display:grid}.chat__placeholder{color:#c5d6e8;background:#0000004d;border-radius:14px;padding:6px 14px;font-size:14px}.chat__header{box-sizing:content-box;height:56px;padding:env(safe-area-inset-top) 12px 0;z-index:2;background:var(--bg-panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;display:flex;position:relative}.chat__back{display:none}.chat__info{text-align:left;-webkit-tap-highlight-color:transparent;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;height:48px;margin-left:-6px;padding:0 6px;display:flex}@media (hover:hover){.chat__info:hover{background:var(--bg-hover)}}.chat__actions{flex:none;align-items:center;gap:2px;display:flex}.chat__title{align-items:center;gap:4px;min-width:0;font-weight:600;display:flex}.chat__titletext{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.verified{color:#3d9ae8;vertical-align:-2px;flex:none}.composer.composer--readonly{text-align:center;color:var(--text-secondary);padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg-panel);font-size:13.5px;line-height:1.4;display:block}.bubble__link{color:var(--accent-text);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.msg--out .bubble__link{color:#fff}.bubble__mention{font-weight:500;text-decoration:none}@media (hover:hover){.bubble__mention:hover{text-decoration:underline}}.chat__subtitle{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.chat__subtitle--accent{color:var(--accent-text)}.chat__headtext{flex:1;min-width:0;display:block}.messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 0;min-height:0;padding:12px 0 8px;overflow:hidden auto}.messages__inner{flex-direction:column;max-width:760px;margin:0 auto;padding:0 16px;display:flex}.day{color:#c5d6e8;z-index:1;background:#0000004d;border-radius:12px;align-self:center;margin:10px 0;padding:3px 10px;font-size:13px;font-weight:500;position:sticky;top:4px}.msg{margin-top:2px;display:flex}.msg--first{margin-top:8px}.msg--out{justify-content:flex-end}.bubble{border-radius:var(--radius-bubble);background:var(--bubble-in);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:min(520px,82%);padding:6px 10px 6px 12px;position:relative}.msg--out .bubble{background:var(--bubble-out)}.msg--in.msg--last .bubble{border-bottom-left-radius:4px}.msg--out.msg--last .bubble{border-bottom-right-radius:4px}.bubble--call{font:inherit;color:inherit;text-align:left;cursor:pointer;white-space:normal;align-items:center;gap:12px;padding:8px 14px 8px 8px;display:flex}.callmsg__icon{color:#fff;background:#ffffff1f;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.bubble--missed .callmsg__icon{color:var(--danger);background:#e5534b33}.callmsg__text{flex-direction:column;min-width:0;display:flex}.callmsg__title{font-weight:500}.bubble--missed .callmsg__title{color:#ff8a82}.callmsg__detail{color:var(--text-secondary);font-size:13px}.msg--out .callmsg__detail{color:#9ec3e8}.callmsg__arrow{color:var(--danger);margin-right:4px}.callmsg__arrow--out,.bubble--call:not(.bubble--missed) .callmsg__arrow{color:var(--success)}.chatitem__missed{color:#ff8a82}.bubble--deleted{color:var(--text-secondary);font-style:italic}.bubble__sender{margin-bottom:2px;font-size:13px;font-weight:600;display:block}.bubble__meta{float:right;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:3px;margin:8px 0 -4px 12px;font-size:12px;line-height:1;display:inline-flex}.msg--out .bubble__meta{color:#7da8d3}.bubble__meta--failed{color:var(--danger)!important}.msg--pending .bubble{opacity:.85}.typing-dots{vertical-align:middle;gap:3px;margin-right:4px;display:inline-flex}.typing-dots i{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite blink}.typing-dots i:nth-child(2){animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer{padding:8px 16px max(14px, env(safe-area-inset-bottom));flex:none}.kbd-open .composer{padding-bottom:8px}.composer__inner{max-width:760px;margin:0 auto}.composer__edit{border-left:2px solid var(--accent);background:var(--bg-panel);border-radius:6px;align-items:center;gap:10px;margin-bottom:6px;padding:6px 12px;font-size:13px;display:flex}.composer__edit span{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.composer__edit b{color:var(--accent-text);margin-right:8px;font-weight:600}.composer__row{align-items:flex-end;gap:8px;display:flex}.composer__box{background:var(--bg-panel);border-radius:22px;flex:1;padding:11px 16px;display:flex}.composer__input{resize:none;background:0 0;border:0;outline:none;flex:1;max-height:200px;line-height:1.4}.composer__send{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;transition:background .15s,transform .1s;display:grid}@media (hover:hover){.composer__send:hover:not(:disabled){background:var(--accent-hover)}}.composer__send:active:not(:disabled){transform:scale(.94)}.composer__send:disabled{background:var(--bg-panel);color:var(--text-secondary);cursor:default}.overlay{z-index:40;background:#0000008c;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{border-radius:var(--radius);background:var(--bg-panel);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:20px;display:flex}.dialog__title{margin:0;font-size:18px;font-weight:600}.dialog__label{color:var(--text-secondary);margin-bottom:-8px;font-size:13px}.dialog__actions{justify-content:flex-end;gap:8px;display:flex}.dialog__actions .btn{height:40px}.toast{z-index:60;background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-size:14px;animation:.15s pop;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.sheet{width:100%;max-width:400px;max-height:min(640px, calc(var(--app-h,100dvh) - 32px));border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow);flex-direction:column;animation:.15s ease-out pop;display:flex;overflow:hidden}.sheet__top{flex:none;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;padding:8px;display:grid}.sheet__heading{text-align:center;font-weight:600}.sheet__body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 0 16px;overflow-y:auto}.sheet__loading{min-height:200px;color:var(--text-secondary);place-items:center;display:grid}.profile__hero{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:4px 20px 18px;display:flex}.profile__hero .avatar{margin-bottom:8px}.profile__name{overflow-wrap:anywhere;font-size:20px;font-weight:600}.profile__status{color:var(--text-secondary);font-size:14px}.profile__status--online{color:var(--accent-text)}.profile__rows{border-top:8px solid var(--bg-app);padding:6px 0}.profile__row{text-align:left;align-items:flex-start;gap:20px;width:100%;padding:10px 20px;display:flex}@media (hover:hover){button.profile__row:hover{background:var(--bg-hover)}}.profile__row>svg{color:var(--text-secondary);flex:none;margin-top:2px}.profile__row>span{min-width:0}.profile__value{overflow-wrap:anywhere;display:block}.profile__bio{white-space:pre-wrap}.profile__label{color:var(--text-secondary);font-size:13px;display:block}.profile__actions{padding:8px 20px 0}.profile__actions .btn{height:44px}.profile__section{border-top:8px solid var(--bg-app);color:var(--accent-text);padding:14px 20px 6px;font-size:14px;font-weight:600}.member{text-align:left;align-items:center;gap:14px;width:100%;padding:8px 20px;display:flex}@media (hover:hover){.member:hover{background:var(--bg-hover)}}.member__text{flex:1;min-width:0}.member__name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.member__you{color:var(--text-secondary);font-weight:400}.member__status{color:var(--text-secondary);font-size:13px;display:block}.member__status--online{color:var(--accent-text)}.member__role{color:var(--text-secondary);font-size:12px}.settings{flex-direction:column;gap:14px;display:flex}.settings__avatar{justify-content:center;display:flex}.settings__counter{justify-content:space-between;gap:12px;display:flex}.dialog{max-height:calc(var(--app-h,100dvh) - 32px);overflow-y:auto}.confirm{flex-direction:column;gap:14px;display:flex}.confirm__head{align-items:center;gap:14px;display:flex}.confirm__text{color:var(--text-secondary);margin:0;font-size:14px}.check{cursor:pointer;align-items:center;gap:12px;font-size:15px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none}@media (max-width:767px){.main{grid-template-columns:1fr}.main--chat-open .sidebar,.main:not(.main--chat-open) .chat{display:none}.chat__back{display:inline-grid}.sidebar{border-right:0}.messages__inner,.composer{padding-left:8px;padding-right:8px}.bubble{max-width:88%}.chat__header{gap:4px;padding-left:4px;padding-right:4px}.chat__info{gap:10px;margin-left:0}.overlay:has(>.sheet){place-items:stretch stretch;padding:0}.sheet{max-width:none;max-height:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0}}@media (hover:none) and (pointer:coarse){.chatitem,.chat__info{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.chatitem--pressed:not(.chatitem--active),.chatitem--menu:not(.chatitem--active){background:var(--bg-hover)}.bubble{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.msg--pressed .bubble{filter:brightness(1.25);transition:filter .15s}.menu{--menu-pad:18px;--menu-icon:22px}.menu__item{padding-top:13px;padding-bottom:13px;font-size:16px}.search,.field,.composer__input{font-size:16px}.profile__row,.member{-webkit-tap-highlight-color:transparent}}@media (hover:none){.icon-btn:active,.menu__item:active,.member:active,button.profile__row:active{background:var(--bg-hover)}}.callbar{width:100%;min-height:36px;padding:calc(6px + env(safe-area-inset-top)) 16px 6px;color:#fff;text-align:left;-webkit-tap-highlight-color:transparent;z-index:3;background:linear-gradient(90deg,#3f9e56,#4fae4e);flex:none;align-items:center;gap:10px;font-size:14px;display:flex}.callbar__dot{background:#fff;border-radius:50%;flex:none;width:8px;height:8px;animation:1.4s ease-in-out infinite blink}.callbar__title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.callbar__status{font-variant-numeric:tabular-nums;opacity:.9;flex:none;margin-left:auto}.call{left:0;right:0;top:var(--app-top,0px);height:var(--app-h,100dvh);z-index:70;color:#fff;-webkit-user-select:none;user-select:none;background:radial-gradient(900px 600px at 50% 20%,#24405e 0%,#111b26 70%);flex-direction:column;animation:.15s fade;display:flex;position:fixed;overflow:hidden}.call__stage{place-items:center;display:grid;position:absolute;inset:0}.call-video{background:#000;width:100%;height:100%;display:block}.call-hero{text-align:center;flex-direction:column;align-items:center;gap:4px;max-width:calc(100% - 32px);margin-top:-10vh;display:flex}.call-hero__avatar{margin-bottom:18px;position:relative}.call-hero .call__name{max-width:100%;font-size:26px}.call-hero__avatar--ringing:before,.call-hero__avatar--ringing:after{content:"";border:2px solid #ffffff40;border-radius:50%;animation:2s ease-out infinite ring;position:absolute;inset:-14px}.call-hero__avatar--ringing:after{animation-delay:1s}@keyframes ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}.call__top{z-index:2;padding:calc(10px + env(safe-area-inset-top)) 10px 0;grid-template-columns:48px 1fr 48px;align-items:start;gap:8px;display:grid;position:relative}.call__icon{color:#fff;-webkit-tap-highlight-color:transparent;background:#00000040;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.call__heading{text-align:center;text-shadow:0 1px 4px #00000080;padding-top:4px}.call__name{white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:600;overflow:hidden}.call__status{opacity:.8;font-variant-numeric:tabular-nums;margin-top:4px;font-size:15px}.call-pip{z-index:2;right:12px;bottom:calc(130px + env(safe-area-inset-bottom));border-radius:12px;width:min(28vw,180px);height:auto;max-height:34%;position:absolute;box-shadow:0 4px 16px #00000080}.call-pip--remote{top:calc(80px + env(safe-area-inset-top));bottom:auto}.call__sharing,.call__notice{z-index:3;left:50%;bottom:calc(132px + env(safe-area-inset-bottom));white-space:nowrap;background:#00000080;border-radius:14px;padding:6px 12px;font-size:13px;position:absolute;transform:translate(-50%)}.call__notice{bottom:calc(170px + env(safe-area-inset-bottom))}.call__controls{z-index:2;padding:18px 12px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#00000073);justify-content:center;gap:clamp(14px,6vw,32px);display:flex;position:absolute;bottom:0;left:0;right:0}.call--incoming .call__controls{gap:clamp(60px,30vw,140px)}.call-btn__wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.call-btn{color:#fff;-webkit-tap-highlight-color:transparent;background:#ffffff29;border-radius:50%;place-items:center;width:58px;height:58px;transition:background .15s,transform .1s;display:grid}.call-btn:active:not(:disabled){transform:scale(.93)}.call-btn--on{color:#1c2a38;background:#fff}.call-btn--danger{color:#fff;background:#e5534b}.call-btn--accept{color:#fff;background:#4fae4e;animation:1.6s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 12px #4fae4e00}0%{box-shadow:0 0 #4fae4e80}}.call-btn--dim{opacity:.45}.call-btn:disabled{opacity:.5}.call-btn__label{opacity:.85;font-size:12px}@media (hover:hover){.call-btn:hover:not(:disabled):not(.call-btn--on){filter:brightness(1.15)}}.call-grid{inset:calc(90px + env(safe-area-inset-top)) 8px calc(120px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px;display:grid;position:absolute}.call-grid--2{grid-template-columns:1fr}@media (min-width:768px){.call-grid--2{grid-template-columns:1fr 1fr}}.call-tile{background:#ffffff0f;border-radius:14px;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.call-tile .call-video{position:absolute;inset:0}.call-tile__name{background:#00000073;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:13px;display:inline-flex;position:absolute;bottom:8px;left:8px}@media (min-width:768px){.call-pip{width:240px}}@media (orientation:landscape) and (max-height:520px){.call__top{padding-top:calc(4px + env(safe-area-inset-top));padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.call__name{font-size:17px}.call__controls{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:20px}.call-btn{width:48px;height:48px}.call-btn__label{display:none}.call-pip{width:min(22vw,200px);max-height:45%;bottom:calc(70px + env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right))}.call-pip--remote{top:56px;bottom:auto}.call-hero{margin-top:-40px}.call-hero__avatar .avatar{width:88px!important;height:88px!important;font-size:36px!important}.call-grid{inset:56px max(8px, env(safe-area-inset-right)) 72px max(8px, env(safe-area-inset-left));grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.call__sharing{bottom:calc(72px + env(safe-area-inset-bottom))}.call__notice{bottom:calc(110px + env(safe-area-inset-bottom))}}.avatar{position:relative}.avatar--photo{background:var(--bg-elevated)!important}.avatar--photo img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar__online{background:var(--accent-text);border:2.5px solid var(--bg-panel);border-radius:50%;width:28%;min-width:12px;height:28%;min-height:12px;animation:.2s pop;position:absolute;bottom:0;right:0}.chatitem--active .avatar__online{border-color:var(--bg-active)}@media (hover:hover){.chatitem:hover:not(.chatitem--active) .avatar__online{border-color:var(--bg-hover)}}.chat{position:relative}.chat__drop{z-index:20;border:2px dashed var(--accent);border-radius:var(--radius);color:var(--accent-text);pointer-events:none;background:#0e1621d9;place-items:center;font-size:18px;font-weight:500;display:grid;position:absolute;inset:12px}.composer__attach{background:var(--bg-panel);width:46px;height:46px;color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;transition:background .15s,color .15s,transform .15s;display:grid}.composer__attach[aria-expanded=true]{color:var(--accent-text);transform:rotate(45deg)}@media (hover:hover){.composer__attach:hover{background:var(--bg-hover);color:var(--accent-text)}}.composer__attach:active{color:var(--accent-text);transform:scale(.94)}a.menu__item{color:inherit;text-decoration:none}.bubble--media{width:min-content;max-width:min(326px,82%);padding:3px}.bubble--media .bubble__sender{padding:3px 7px 0}.bubble__text{display:inline}.bubble--media .bubble__text{padding:5px 7px 0 9px;display:block}.bubble--media .bubble__meta{margin-bottom:2px;margin-right:7px}.bubble--media-only .bubble__meta{float:none;background:#00000073;border-radius:10px;margin:0;padding:3px 6px;position:absolute;bottom:9px;right:9px;color:#fff!important}.photos{border-radius:calc(var(--radius-bubble) - 3px);gap:2px;width:min(320px,72vw);display:grid;position:relative;overflow:hidden}.photos--1{aspect-ratio:auto;max-width:min(320px,72vw);max-height:360px;display:block}.photos--1 .photo{width:100%;height:100%}.photos--2,.photos--4,.photos--three{grid-template-columns:1fr 1fr}.photos--three .photo:first-child{aspect-ratio:2;grid-column:1/-1}.photos:not(.photos--1) .photo{aspect-ratio:1}.photo{background:var(--bg-elevated) center / cover no-repeat;cursor:zoom-in;border:0;padding:0;display:block;position:relative;overflow:hidden}.photo:before{content:"";background:inherit;filter:blur(10px);position:absolute;inset:-12px}.photo__img{object-fit:cover;opacity:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .2s;display:block;position:relative}.photo__img--loaded{opacity:1}.progress{background:#00000080;border-radius:50%;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px;display:grid;position:absolute;top:50%;left:50%}.progress--small{background:0 0;width:40px;height:40px;margin:0;position:static}.progress svg{transform:rotate(-90deg)}.progress circle{fill:none;stroke-width:3px}.progress__track{stroke:#ffffff40}.progress__bar{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .2s}.filemsg{min-width:200px;max-width:300px;color:inherit;white-space:normal;align-items:center;gap:12px;padding:4px 4px 2px 0;text-decoration:none;display:flex}.bubble--files .filemsg+.filemsg{margin-top:6px}.bubble--media .filemsg{padding:6px 8px 0}.filemsg__icon{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.msg--out .filemsg__icon{color:var(--bubble-out);background:#fff}.msg--out .filemsg__icon .progress__track{stroke:#2b527840}.msg--out .filemsg__icon .progress__bar{stroke:var(--bubble-out)}.filemsg__text{flex-direction:column;min-width:0;display:flex}.filemsg__name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.filemsg__size{color:var(--text-secondary);font-size:13px}.msg--out .filemsg__size{color:#9ec3e8}.filemsg--static{max-width:none}.lightbox{z-index:70;touch-action:none;background:#000000eb;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}.lightbox__img{max-width:100vw;max-height:calc(var(--app-h,100dvh) - 112px);object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:default}.lightbox__bar{padding:max(8px, env(safe-area-inset-top)) 8px 8px;background:linear-gradient(#0009,#0000);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.lightbox__bar .icon-btn{color:#fff}.lightbox__count{color:#fff;font-size:15px}.lightbox__nav{color:#fff;background:#ffffff1f;border-radius:50%;width:48px;height:48px;margin-top:-24px;font-size:32px;line-height:1;position:absolute;top:50%}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}@media (hover:none){.lightbox__nav{display:none}}.sendmedia__head{justify-content:space-between;align-items:center;margin:-6px -8px -6px 0;display:flex}.sendmedia__loading{place-items:center;min-height:120px;display:grid}.sendmedia__grid{border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;max-height:46vh;display:grid;overflow-y:auto}.sendmedia__grid img{aspect-ratio:1;object-fit:cover;border-radius:4px;width:100%;display:block}.sendmedia__grid--one{grid-template-columns:1fr}.sendmedia__grid--one img{aspect-ratio:auto;object-fit:contain;background:var(--bg-app);max-height:46vh}.sendmedia__files{flex-direction:column;gap:8px;max-height:40vh;display:flex;overflow-y:auto}.overlay--top{z-index:45}.cropper{align-items:center}.cropper .dialog__title,.cropper .auth__note,.cropper .dialog__actions{align-self:stretch}.cropper__frame{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#000;border-radius:8px;position:relative;overflow:hidden}.cropper__frame:active{cursor:grabbing}.cropper__frame img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.cropper__mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 999px #0000008c}.cropper__zoom{width:240px;accent-color:var(--accent)}.settings__avatar{flex-direction:column;align-items:center;gap:6px}.settings__photo{border-radius:50%;padding:0;position:relative}.settings__photo-badge{border:3px solid var(--bg-panel);background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;bottom:-2px;right:-2px}.settings__photo-badge .spinner{width:14px;height:14px}.link-btn{color:var(--accent-text);padding:4px 8px;font-size:14px}.link-btn:disabled{opacity:.5}.composer__mic{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .15s,box-shadow 80ms}.composer__send.composer__mic{background:var(--bg-panel);color:var(--text-secondary)}.composer__send.composer__mic--active{background:var(--accent);color:#fff;transform:scale(1.35)}.composer__mic-icon{place-items:center;animation:.18s pop;display:grid}@media (hover:hover){.composer__send.composer__mic:hover:not(.composer__mic--active){background:var(--bg-hover);color:var(--accent-text)}}.composer__send--rec{animation:.15s pop}.recbtn{flex:none;position:relative}.recbtn__lock{background:var(--bg-panel);width:36px;box-shadow:var(--shadow);color:var(--text-secondary);pointer-events:none;border-radius:18px;flex-direction:column;align-items:center;gap:4px;margin-left:-18px;padding:8px 0 6px;animation:.15s pop;display:flex;position:absolute;bottom:74px;left:50%}.recbtn__up{transform:rotate(90deg)}.recbar{-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:10px;min-height:22px;display:flex;overflow:hidden}.recbar__dot{background:var(--danger);border-radius:50%;flex:none;width:10px;height:10px;animation:1s infinite blink}.recbar__time{font-variant-numeric:tabular-nums;min-width:52px}.recbar__hint{text-align:center;color:var(--text-secondary);white-space:nowrap;flex:1;transition:opacity .1s}.recbar__cancel{color:var(--danger);align-items:center;gap:6px;margin-left:auto;font-weight:500;display:inline-flex}.roundrec{z-index:35;pointer-events:none;background:#0000008c;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}.roundrec__circle{aspect-ratio:1;background:#000;border-radius:50%;place-items:center;width:min(280px,72vw);display:grid;position:relative;overflow:hidden}.roundrec__circle video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.roundrec__circle svg,.round__ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.roundrec__circle svg{transform:rotate(-90deg)}.roundrec__circle circle{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round}.round__track{fill:none;stroke:#ffffff40;stroke-width:1.2px}.round__progress{fill:none;stroke:#fff;stroke-width:1.2px;stroke-linecap:round}.round__knob{fill:#fff;filter:drop-shadow(0 0 1px #00000080)}.round--active{touch-action:none}.round__play--paused{background:#0000004d}.bubble--voice{min-width:240px;padding:8px 12px 6px 8px}.voice{align-items:center;gap:10px;display:flex}.voice__play{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.msg--out .voice__play{color:var(--bubble-out);background:#fff}.voice__progress{background:conic-gradient(currentColor calc(var(--p,0) * 360deg), #7f7f7f4d 0);border-radius:50%;width:28px;height:28px;-webkit-mask:radial-gradient(circle,#0000 10px,#000 11px);mask:radial-gradient(circle,#0000 10px,#000 11px)}.voice__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.voice__wave{cursor:pointer;align-items:center;gap:2px;height:24px;display:flex}.voice__bar{background:#7fa0c373;border-radius:2px;flex:1;min-width:2px;max-width:3px}.voice__bar--played{background:var(--accent-text)}.msg--out .voice__bar{background:#ffffff59}.msg--out .voice__bar--played{background:#fff}.voice__time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.msg--out .voice__time{color:#9ec3e8}.bubble--voice .bubble__meta{margin-top:-14px}.bubble--round{flex-direction:column;align-items:flex-end;padding:0;display:flex;background:0 0!important}.msg--in .bubble--round{align-items:flex-start}.bubble--round .bubble__meta{float:none;background:#00000059;border-radius:10px;margin:4px 4px 0;padding:3px 7px;color:#fff!important}.round{aspect-ratio:1;background:var(--bg-elevated);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:min(240px,62vw);padding:0;display:block;position:relative;overflow:hidden}.round video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.round__play{color:#fff;background:#00000073;border-radius:50%;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;display:grid;position:absolute;top:50%;left:50%}.round__time{color:#fff;font-variant-numeric:tabular-nums;background:#00000073;border-radius:10px;padding:2px 8px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.profile__name .verified{vertical-align:-3px;margin-left:6px}.member__name .verified,.sidebar .menu__label .verified{margin-left:4px}.bubble__fwd{max-width:100%;font:inherit;text-align:left;color:var(--accent-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;padding:0;font-size:13px;line-height:1.3;display:block;overflow:hidden}.bubble__fwd b{font-weight:600}.bubble__fwdlabel{opacity:.85}.msg--out .bubble__fwd{color:#b5d6f7}.bubble--media .bubble__fwd{padding:4px 8px 2px}.bubble--voice .bubble__fwd{padding-left:4px}.bubble--round .bubble__fwd{color:#fff;background:#00000059;border-radius:12px;align-self:stretch;padding:3px 10px}.chat__header--select{gap:8px}.chat__selcount{font-size:16px;font-weight:600}.composer.composer--select{background:var(--bg-panel);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.composer--select .btn{height:42px}.messages--select .msg{cursor:default;border-radius:10px;padding-left:36px;position:relative}.messages--select .msg--selectable{cursor:pointer}.messages--select .msg--selected{background:#5288c12e}.msg__check{border:2px solid var(--text-secondary);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:6px;left:6px}.msg--selected .msg__check{border-color:var(--accent);background:var(--accent)}.forward{max-width:400px;height:min(560px, calc(var(--app-h,100dvh) - 32px));gap:10px;padding:16px 12px 12px;overflow:hidden}.forward__head{justify-content:space-between;align-items:center;padding-left:8px;display:flex}.forward__search{flex:none;margin:0 4px}.forward__list{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.forward__item:disabled{opacity:.6}
