:root{--app-viewport-height: 100dvh;--app-viewport-offset: 0px;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#dfe8ee;color:#15202b}:root[data-theme=dark]{color-scheme:dark;background:#0e1621;color:#e7eef5}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:0;overflow:hidden}body{position:fixed;top:var(--app-viewport-offset, 0px);right:0;left:0;min-width:320px;height:var(--app-viewport-height, 100dvh);min-height:0;margin:0;overflow:hidden;background:linear-gradient(135deg,rgba(42,171,238,.18),transparent 34%),linear-gradient(315deg,rgba(47,139,103,.15),transparent 30%),#dfe8ee}:root[data-theme=dark] body{background:linear-gradient(135deg,rgba(42,171,238,.09),transparent 34%),linear-gradient(315deg,rgba(47,139,103,.08),transparent 30%),#0e1621}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes message-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-focus{0%{box-shadow:0 0 #2aabee00;transform:translateY(0) scale(1)}28%{box-shadow:0 0 0 5px #2aabee2e,0 16px 36px #2aabee5c;transform:translateY(-2px) scale(1.025)}to{box-shadow:0 10px 28px #2aabee00;transform:translateY(0) scale(1)}}@keyframes background-pan{0%{background-position:0 0,0 0,0 0}to{background-position:160px 120px,-180px 90px,260px 180px}}@keyframes emoji-pop{0%,to{transform:translateY(0) rotate(0) scale(1)}45%{transform:translateY(-3px) rotate(-5deg) scale(1.08)}}@keyframes emoji-sway{0%,to{transform:translateY(0) rotate(-2deg) scale(1);filter:drop-shadow(0 5px 8px rgba(21,32,43,.16))}50%{transform:translateY(-4px) rotate(3deg) scale(1.12);filter:drop-shadow(0 8px 13px rgba(42,171,238,.28))}}@keyframes emoji-arrive{0%{opacity:0;transform:scale(.55) translateY(8px)}68%{opacity:1;transform:scale(1.08) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes emoji-tap{0%{transform:scale(1) rotate(0)}22%{transform:scale(.84) rotate(-5deg)}48%{transform:scale(1.24) rotate(7deg)}72%{transform:scale(.96) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes emoji-spark{0%{opacity:0;transform:translate(0) scale(.3)}35%{opacity:1}to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(1.25) rotate(35deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.splash,.auth-page,.app{min-height:var(--app-viewport-height, 100dvh)}.splash{display:grid;gap:14px;place-content:center;color:#2788c3;font-size:1.2rem;font-weight:800}.splash svg{animation:breathe 1.8s ease-in-out infinite}.auth-page{display:grid;height:var(--app-viewport-height, 100dvh);overflow-y:auto;padding:clamp(16px,4vw,40px);place-items:center}.auth-panel{display:grid;gap:22px;width:min(100%,430px);border:1px solid rgba(21,32,43,.12);border-radius:8px;background:#ffffffeb;box-shadow:0 24px 80px #15202b29;padding:26px;animation:fade-up .26s ease-out both}.auth-brand{display:flex;align-items:center;gap:14px}.auth-brand .language-toggle{margin-left:auto}.auth-brand p{margin:0 0 4px;color:#5e778a;font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.auth-brand h1{margin:0;font-size:clamp(2rem,8vw,3.4rem);line-height:.95}.brand-mark{display:grid;width:62px;height:62px;place-items:center;border-radius:8px;background:#2aabee;color:#fff}.mode-switch{display:grid;grid-template-columns:1fr 1fr;height:44px;border-radius:8px;background:#ecf2f6;padding:4px}.mode-switch button{border:0;border-radius:6px;background:transparent;color:#5e778a;cursor:pointer;font-weight:800}.mode-switch .active{background:#fff;color:#15202b;box-shadow:0 6px 18px #15202b1a}.language-toggle{display:inline-grid;grid-template-columns:1fr 1fr;width:82px;height:34px;flex:0 0 auto;border-radius:8px;background:#e8f1f6;padding:3px}.language-toggle button{border:0;border-radius:6px;background:transparent;color:#607384;cursor:pointer;font-size:.78rem;font-weight:900;transition:background .16s ease,color .16s ease,transform .16s ease}.language-toggle button:hover{transform:translateY(-1px)}.language-toggle .active{background:#fff;color:#2aabee;box-shadow:0 5px 14px #15202b1a}.auth-form,.auth-form label{display:grid;gap:8px}.auth-form{gap:14px}.auth-form span{color:#607384;font-size:.78rem;font-weight:800;text-transform:uppercase}.auth-form input,.settings-form input,.composer input,.search input{min-width:0;border:1px solid transparent;caret-color:#2aabee;outline:none}.auth-form input{height:46px;border-color:#15202b1f;border-radius:8px;padding:0 13px}.auth-form input:focus,.settings-form input:focus,.composer input:focus,.search:focus-within{border-color:#2aabee;box-shadow:0 0 0 4px #2aabee24}.auth-form input[aria-invalid=true]{border-color:#c74335b8}.form-error,.panel-error{margin:0;color:#c74335;font-size:.9rem;font-weight:700}.form-success{margin:0;color:#2f8b67;font-size:.9rem;font-weight:800}.primary-button{height:46px;border:0;border-radius:8px;background:#2aabee;color:#fff;cursor:pointer;font-weight:900}.primary-button:disabled,.send:disabled{cursor:wait;opacity:.55}.password-meter{display:grid;gap:7px;margin-top:-2px}.password-meter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#607384;font-size:.78rem;font-weight:800}.password-meter-row span,.password-meter small{text-transform:none}.password-meter-row strong{color:#15202b}.password-track{height:7px;overflow:hidden;border-radius:999px;background:#e5edf3}.password-track span{display:block;height:100%;border-radius:inherit;background:#c74335;transition:width .18s ease,background .18s ease}.password-meter.fair .password-track span{background:#d99b25}.password-meter.good .password-track span{background:#2aabee}.password-meter.strong .password-track span{background:#2f8b67}.password-meter small{color:#6b7f8e;font-size:.76rem;font-weight:700}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#06141f6b;padding:clamp(12px,4vw,28px);animation:fade-up .15s ease-out both}.settings-panel{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,460px);max-height:min(calc(100dvh - 24px),760px);min-height:0;overflow:hidden;border:1px solid rgba(21,32,43,.14);border-radius:8px;background:#fff;box-shadow:0 28px 90px #15202b3d}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #dce5ec;padding:16px 18px}.settings-header div,.settings-section,.settings-section>label{display:grid;gap:8px}.settings-header span,.settings-section h2,.settings-section>label>span,.color-picker>span{margin:0;color:#607384;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.settings-header strong{color:#15202b;font-size:1.08rem}.settings-form{display:grid;gap:16px;min-height:0;align-content:start;overscroll-behavior:contain;overflow-y:auto;padding:18px}.settings-form input:not([type=file]){height:44px;border:1px solid rgba(21,32,43,.12);border-radius:8px;background:#fff;color:#15202b;padding:0 13px}.color-picker{display:grid;gap:9px}.color-picker>div{display:flex;flex-wrap:wrap;gap:8px}.color-picker button{width:34px;height:34px;border:3px solid transparent;border-radius:50%;cursor:pointer}.color-picker button.active{border-color:#fff;box-shadow:0 0 0 3px #2aabee,0 8px 18px #15202b24}.settings-section{gap:12px}.compact-section{grid-template-columns:minmax(0,1fr) auto;align-items:center}.notification-section{gap:10px}.notification-section>div{display:grid;gap:4px}.notification-section p{margin:0;color:#6b7f8e;font-size:.84rem;font-weight:700;line-height:1.45}.notification-section .secondary-button{justify-self:start}.microphone-help{display:grid;gap:10px;border:1px solid #d6e3eb;border-radius:8px;background:#edf4f8;padding:10px}.microphone-help .secondary-button{text-decoration:none}.microphone-actions{display:flex;flex-wrap:wrap;gap:8px}.notification-section>.sound-setting{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-radius:8px;background:#edf4f8;padding:10px}.sound-setting>span{display:grid;min-width:0;gap:3px}.sound-setting small{color:#6b7f8e;font-size:.76rem;font-weight:700;line-height:1.35}.sound-toggle{min-width:146px}.avatar-uploader{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px}.avatar-preview .avatar{width:72px;height:72px;font-size:1.45rem}.avatar-open-button{display:grid;width:max-content;height:max-content;border:0;border-radius:50%;background:transparent;cursor:zoom-in;padding:0;place-items:center}.avatar-open-button:hover .avatar,.avatar-open-button:focus-visible .avatar{box-shadow:0 0 0 3px #2aabee52}.avatar-open-button:focus-visible{outline:2px solid #2aabee;outline-offset:3px}.avatar-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:8px;cursor:pointer;font-weight:850;padding:0 12px;white-space:nowrap}.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button{border:1px solid rgba(42,171,238,.28);background:#eaf6fd;color:#238bc6}.secondary-button input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.ghost-button{border:0;background:#edf4f8;color:#5d7180}.ghost-button.danger{color:#c74335}.theme-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:8px;background:#ecf2f6;padding:4px}.theme-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;border:0;border-radius:6px;background:transparent;color:#607384;cursor:pointer;font-weight:850}.theme-toggle .active{background:#fff;color:#2aabee;box-shadow:0 6px 18px #15202b1a}.background-picker{display:grid;gap:8px}.background-picker>span{color:#607384;font-size:.8rem;font-weight:900;text-transform:uppercase}.background-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.background-choice{display:grid;gap:6px;min-width:0;border:1px solid rgba(96,115,132,.16);border-radius:8px;background:#f7fafc;color:#15202b;cursor:pointer;padding:7px;text-align:left}.background-choice.active{border-color:#2aabeeb8;box-shadow:0 0 0 3px #2aabee29}.background-choice strong{overflow:hidden;font-size:.76rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.background-preview{position:relative;display:block;height:42px;overflow:hidden;border-radius:7px;background:#edf4f8}.background-preview.classic{background:linear-gradient(#edf4f8e6,#edf4f8e6),repeating-linear-gradient(45deg,rgba(42,171,238,.18) 0 2px,transparent 2px 13px)}.background-preview.doodle{background:radial-gradient(circle at 18% 24%,rgba(42,171,238,.22) 0 7px,transparent 8px),radial-gradient(circle at 78% 70%,rgba(47,139,103,.18) 0 8px,transparent 9px),#e9f3f7}.background-preview.mint{background:linear-gradient(135deg,rgba(47,139,103,.22),transparent 44%),linear-gradient(315deg,rgba(42,171,238,.18),transparent 42%),#e6f5ee}.background-preview.sunset{background:radial-gradient(circle at 20% 25%,rgba(255,184,77,.42),transparent 34%),radial-gradient(circle at 82% 70%,rgba(217,79,128,.34),transparent 36%),#f3e8df}.background-preview.night{background:radial-gradient(circle at 30% 26%,rgba(106,183,243,.24),transparent 24%),linear-gradient(135deg,#0e1621,#192b3c)}.background-preview.waves{background:repeating-radial-gradient(circle at 20% 10%,rgba(42,171,238,.18) 0 3px,transparent 3px 16px),linear-gradient(135deg,#e9f6fb,#d8eff1)}.background-preview.aurora{background:radial-gradient(circle at 20% 20%,rgba(42,171,238,.36),transparent 32%),radial-gradient(circle at 78% 70%,rgba(217,79,128,.28),transparent 36%),#17212b}.settings-footer{position:sticky;z-index:2;bottom:-18px;display:grid;gap:8px;margin:0 -18px -18px;border-top:1px solid #dce5ec;background:#fffffff5;padding:12px 18px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-save-status{min-height:18px;color:#2f8b67;font-size:.78rem;font-weight:800}.settings-save-status.dirty{color:#c7892f}.settings-actions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center}.sessions-section{gap:8px}.session-hint{color:#6b7f8e;font-size:.85rem;font-weight:750}.session-item{display:grid;grid-template-columns:28px minmax(0,1fr) 38px;align-items:center;gap:10px;min-height:58px;border-radius:8px;background:#edf4f8;padding:8px 10px}.session-item span{display:grid;min-width:0;gap:2px}.session-item strong,.session-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item small{color:#6b7f8e;font-size:.78rem;font-weight:750}.app{display:grid;grid-template-columns:360px minmax(0,1fr);width:100%;height:var(--app-viewport-height, 100dvh);min-height:0;max-height:var(--app-viewport-height, 100dvh);overflow:hidden;background:#fff;animation:fade-up .22s ease-out both}.app.chat-info-open{grid-template-columns:360px minmax(0,1fr) minmax(320px,380px)}.sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-right:1px solid #dce5ec;background:#f7fafc;animation:slide-in-left .24s ease-out both}.background-preview:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:url(/chat-doodle.svg) center / 94px 94px repeat}.group-dialog{max-height:min(calc(100dvh - 24px),680px)}.dialog-field{display:grid;gap:8px}.dialog-field>span{color:#607384;font-size:.78rem;font-weight:900;text-transform:uppercase}.invite-dialog-body{display:grid;align-content:start;gap:12px;min-height:150px;overflow-y:auto;overscroll-behavior:contain;padding:18px}.invite-card{display:grid;gap:14px;border:1px solid #dce5ec;border-radius:8px;background:#f7fafc;padding:14px}.invite-card-title,.pending-invite-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px}.invite-card-title{grid-template-columns:44px minmax(0,1fr)}.invite-card-title>span,.pending-invite-row>span{display:grid;min-width:0;gap:3px}.invite-card-title strong,.invite-card-title small,.pending-invite-row strong,.pending-invite-row small{overflow:hidden;text-overflow:ellipsis}.invite-card-title small,.pending-invite-row small{color:#6b7f8e;font-size:.78rem}.invite-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.pending-invites{display:grid;gap:8px;border-bottom:1px solid #dce5ec;padding-bottom:12px}.pending-invite-row{border-radius:8px;background:#edf4f8;padding:8px}.sidebar-results{min-height:0;overflow-x:hidden;overflow-y:auto}.invite-summary-card{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;width:calc(100% - 16px);min-height:48px;margin:4px 8px 6px;border:1px solid rgba(42,171,238,.24);border-radius:10px;background:#2aabee17;color:#247fac;cursor:pointer;padding:8px 10px;text-align:left}.invite-summary-card:hover,.invite-summary-card:focus-visible{border-color:#2aabee80;background:#2aabee24;outline:none}.invite-summary-card span{min-width:0;overflow:hidden;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.invite-summary-card strong{display:grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:#2aabee;color:#fff;font-size:.75rem;padding:0 6px}.profile{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px 44px;align-items:center;gap:10px;min-height:68px;padding:12px 14px}.profile-action-menu{position:relative;width:44px;height:44px}.profile-action-menu>.icon-button{position:relative;width:44px;height:44px}.profile-action-notice,.profile-action-menu-badge{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#d94f80;color:#fff;font-size:.7rem;line-height:1;padding:0 5px}.profile-action-notice{position:absolute;top:-5px;right:-5px;pointer-events:none}.profile-action-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;width:min(280px,calc(100vw - 24px));gap:4px;border:1px solid #dce5ec;border-radius:12px;background:#fff;box-shadow:0 16px 40px #15202b2e;padding:6px}.profile-action-popover button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;min-width:0;min-height:44px;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;color:#263746;cursor:pointer;font:inherit;font-weight:800;padding:8px 10px;text-align:left}.profile-action-popover button:hover,.profile-action-popover button:focus-visible{background:#edf8fe;color:#2788c3;outline:none}.profile-action-popover button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-text,.chat-summary{display:grid;min-width:0}.profile-text strong,.chat-title{overflow:hidden;color:#15202b;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.profile-text span,.chat-preview,.chat-item time,.chat-heading-copy>span{overflow:hidden;color:#6b7f8e;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.chat-preview.search-match{color:var(--accent);font-weight:800}.avatar,.chat-avatar{position:relative;display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;font-weight:900;overflow:visible}.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.avatar.compact{width:36px;height:36px;font-size:.9rem}.online-dot{position:absolute;right:0;bottom:0;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#2ec66d;box-shadow:0 0 0 1px #2ec66d3d;z-index:2}.chat-avatar{background:linear-gradient(160deg,#2aabee,#2f8b67)}.chat-avatar.saved{background:linear-gradient(160deg,#ffb84d,#d94f80)}.chat-avatar.direct{background:transparent}.chat-avatar.large{width:48px;height:48px}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:8px;background:transparent;color:#5d7180;cursor:pointer}.icon-button:hover{background:#edf4f8;color:#2aabee;transform:translateY(-1px)}.icon-button.active{background:#dceffd;color:#2aabee}.mobile-back-button,.mobile-home-indicator{display:none}.icon-button.compact{width:30px;height:30px;margin-left:auto}.search{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;height:42px;margin:0 14px 10px;border:1px solid transparent;border-radius:8px;background:#edf4f8;color:#6b7f8e;padding:0 11px}.search input{background:transparent;color:#15202b}.user-results{display:grid;gap:6px;padding:0 8px 10px}.search-hint{color:#6b7f8e;font-size:.86rem;font-weight:750;padding:8px 12px}.user-result{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:9px;width:100%;min-height:56px;border:0;border-radius:8px;background:transparent;color:#15202b;cursor:pointer;padding:7px 10px;text-align:left}.user-result:hover{background:#edf4f8}.user-result span{display:grid;min-width:0}.user-result strong,.user-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-result small{color:#6b7f8e;font-size:.82rem}.chat-list{min-height:0;padding:4px 8px 12px}.chat-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:66px;border:0;border-radius:8px;background:transparent;cursor:pointer;padding:8px 10px;text-align:left;transition:background .16s ease,transform .16s ease}.chat-item:hover{background:#edf4f8;transform:translate(2px)}.chat-item.dragging{opacity:.6;transform:scale(.985);cursor:grabbing}.chat-item.drag-over{background:#e1f2fe;box-shadow:inset 4px 0 #2aabee,0 10px 26px #2aabee29}.chat-item:focus-visible{outline:3px solid rgba(42,171,238,.28);outline-offset:2px}.chat-item.active{background:#dceffd}.app.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app.sidebar-collapsed.chat-info-open{grid-template-columns:76px minmax(0,1fr) minmax(320px,380px)}.app.sidebar-collapsed .sidebar{grid-template-rows:auto minmax(0,1fr)}.app.sidebar-collapsed .profile{grid-template-columns:44px;justify-content:center;gap:8px;min-height:156px;padding:10px 8px}.app.sidebar-collapsed .sidebar .profile-text,.app.sidebar-collapsed .sidebar>.search,.app.sidebar-collapsed .sidebar .user-results,.app.sidebar-collapsed .sidebar .chat-summary,.app.sidebar-collapsed .sidebar .chat-meta,.app.sidebar-collapsed .sidebar .pin-button{display:none}.app.sidebar-collapsed .invite-summary-card{position:relative;grid-template-columns:24px;justify-content:center;width:60px;min-height:52px;margin:4px 8px;padding:8px}.app.sidebar-collapsed .invite-summary-copy{display:none}.app.sidebar-collapsed .invite-summary-card strong{position:absolute;top:-3px;right:-3px}.app.sidebar-collapsed .chat-list{display:grid;align-content:start;gap:8px;overflow-x:hidden;overflow-y:visible;padding:8px}.app.sidebar-collapsed .chat-item{grid-template-columns:44px;justify-content:center;width:60px;min-height:60px;padding:8px}.app.sidebar-collapsed .chat-icon-badge{display:grid}.chat-meta{display:grid;justify-items:end;gap:4px;min-width:0}.chat-meta time{padding-top:4px;text-align:right}.unread-badge{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#2aabee;color:#fff;font-size:.78rem;font-weight:900;padding:0 6px}.chat-icon-badge{position:absolute;top:4px;right:5px;display:none;min-width:20px;height:20px;place-items:center;border:2px solid #f7fbfe;border-radius:999px;background:#2aabee;color:#fff;font-size:.7rem;font-weight:950;padding:0 5px;box-shadow:0 4px 12px #2aabee3d}.pin-button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:8px;background:transparent;color:#6b7f8e;cursor:pointer;opacity:0}.chat-meta-actions{display:flex;min-height:30px;align-items:center;justify-content:flex-end;gap:3px}.chat-drag-handle{display:grid;width:28px;height:30px;flex:0 0 auto;place-items:center;border:0;border-radius:8px;background:transparent;color:#7890a1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.chat-drag-handle:hover,.chat-drag-handle:focus-visible{background:#2aabee1f;color:#2aabee;outline:none}.chat-drag-handle:active{cursor:grabbing}.chat-item:hover .pin-button,.chat-item:focus-within .pin-button,.chat-item.active .pin-button{opacity:1}.pin-button:hover{background:#fff;color:#2aabee}.notification-stack{position:fixed;top:calc(14px + env(safe-area-inset-top));right:14px;z-index:35;display:grid;gap:8px;width:min(360px,calc(100vw - 28px));pointer-events:none}.notification-toast{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;border:1px solid rgba(42,171,238,.16);border-radius:8px;background:#fffffff5;box-shadow:0 16px 42px #15202b2e;color:#15202b;cursor:pointer;padding:10px 12px;text-align:left;pointer-events:auto;animation:toast-in .18s ease-out both}.notification-toast svg{color:#2aabee}.notification-toast span{display:grid;min-width:0;gap:2px}.notification-toast strong,.notification-toast small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-toast small{color:#607384;font-size:.82rem;font-weight:700}.chat-info-panel{position:relative;grid-column:3;grid-row:1;z-index:18;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;min-width:0;border-left:1px solid #dce5ec;background:#fff;animation:fade-up .15s ease-out both}.chat-info-header{display:grid;grid-template-columns:52px minmax(0,1fr) 44px;align-items:center;gap:12px;min-height:72px;border-bottom:1px solid #dce5ec;padding:10px 14px}.chat-info-header div:nth-child(2){display:grid;min-width:0;gap:2px}.chat-info-header strong,.chat-info-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-info-header span{color:#6b7f8e;font-size:.82rem;font-weight:750}.chat-info-body{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px}.chat-info-card{display:grid;gap:7px;border:1px solid rgba(21,32,43,.08);border-radius:8px;background:#f7fafc;padding:11px}.section-label{color:#607384;font-size:.76rem;font-weight:900;text-transform:uppercase}.chat-info-card p,.chat-info-content>p,.empty-info-state p{margin:0;color:#6b7f8e;font-size:.86rem;font-weight:750;line-height:1.45}.chat-info-card p{display:inline-flex;align-items:center;gap:8px}.first-message-link{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-height:46px;border:0;border-radius:8px;background:#fff;color:#15202b;cursor:pointer;padding:8px;text-align:left}.first-message-link:hover{background:#edf8ff}.first-message-link svg{color:#2aabee}.first-message-link span{display:grid;min-width:0;gap:2px}.first-message-link strong,.first-message-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.first-message-link small{color:#6b7f8e;font-size:.75rem;font-weight:750}.chat-info-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.chat-info-tabs button{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;min-height:36px;border:0;border-radius:8px;background:#edf4f8;color:#5d7180;cursor:pointer;font-size:.8rem;font-weight:850;padding:0 10px}.chat-info-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-info-tabs button small{display:inline-grid;min-width:20px;min-height:20px;border-radius:999px;background:#5d71801f;color:inherit;font-size:.7rem;line-height:1;place-items:center}.chat-info-tabs button span+small{margin-left:auto}.chat-info-tabs button.active{background:#dceffd;color:#238bc6}.chat-info-content,.chat-search-panel{display:grid;gap:10px}.info-list,.member-list{display:grid;gap:7px}.info-list a,.info-list button,.member-list button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-height:46px;border:0;border-radius:8px;background:#f7fafc;color:#15202b;cursor:pointer;padding:8px;text-align:left;text-decoration:none}.member-list button:disabled{cursor:default}.info-list span,.member-list span{display:grid;min-width:0}.info-list strong,.info-list small,.info-list em,.member-list strong,.member-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-list small,.member-list small{color:#6b7f8e;font-size:.75rem;font-style:normal;font-weight:750}.info-list em{color:#6b7f8e;font-size:.82rem;font-style:normal;font-weight:750}.members-panel,.member-add-form{display:grid;gap:8px}.member-add-form{grid-template-columns:minmax(0,1fr);align-items:center}.member-add-form .search{width:100%;min-width:0;margin:0}.member-add-form .search input{min-width:0}.member-invite-field{display:grid;min-width:0;gap:6px}.member-invite-field>label{color:#607384;font-size:.76rem;font-weight:850;text-transform:uppercase}.member-add-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:1px solid rgba(42,171,238,.34);border-radius:8px;background:#2aabee1a;color:#2a87bf;cursor:pointer;font-weight:850;padding:0 12px;width:100%}.member-add-button:disabled{cursor:default;opacity:.55}.member-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:7px}.member-list .member-open{grid-template-columns:44px minmax(0,1fr);width:100%;min-width:0}.member-row>.member-open:only-child{grid-column:1 / -1}.member-list .member-remove{display:grid;grid-template-columns:1fr;place-items:center;padding:0;color:#d35643}.empty-info-state{display:grid;justify-items:center;gap:8px;border-radius:8px;background:#f7fafc;color:#6b7f8e;padding:22px 12px;text-align:center}.chat{display:grid;grid-template-rows:72px auto minmax(0,1fr) auto auto;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(#edf4f8e6,#edf4f8e6),repeating-linear-gradient(45deg,rgba(42,171,238,.08) 0 2px,transparent 2px 18px)}.empty-chat-pane{grid-template-rows:minmax(0,1fr)}.no-chat-selected{grid-row:1 / -1;display:grid;align-content:center;justify-items:center;gap:8px;min-width:0;padding:24px;color:#6b7f8e;text-align:center}.no-chat-selected h1{margin:0;color:#15202b;font-size:1.25rem}.no-chat-selected p{max-width:320px;margin:0;font-size:.92rem;font-weight:750;line-height:1.45}.chat-header{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dce5ec;background:#ffffffeb;padding:10px 18px}.pinned-banner{grid-row:2;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;border:0;border-bottom:1px solid #dce5ec;background:#ffffffeb;color:#2a87bf;cursor:pointer;padding:7px 18px;text-align:left}.pinned-banner span{display:grid;min-width:0}.pinned-banner strong,.pinned-banner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-banner small{color:#6b7f8e;font-size:.8rem;font-weight:750}.chat-heading{display:flex;align-items:center;gap:12px;min-width:0}.chat-heading-button{max-width:min(100%,560px);border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:4px 6px;text-align:left}.chat-heading-button:hover,.chat-heading-button:focus-visible{background:#2aabee17;outline:none}.chat-heading-copy{min-width:0}.chat-heading h1{overflow:hidden;margin:0 0 2px;color:#15202b;font-size:1.1rem;text-overflow:ellipsis;white-space:nowrap}.messages{grid-row:3;display:flex;flex-direction:column;gap:8px;min-height:0;overscroll-behavior:contain;margin:0;overflow-y:auto;padding:20px clamp(12px,4vw,34px);list-style:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.empty{display:grid;gap:10px;margin:auto;place-items:center;color:#6b7f8e;font-weight:800}.history-loader{align-self:center;margin:0 auto 4px;border-radius:999px;background:#ffffffd6;color:#6b7f8e;font-size:.78rem;font-weight:850;padding:6px 12px}.system-event{align-self:center;max-width:min(82%,560px);animation:message-in .18s ease-out both}.system-event button,.system-event div{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;border:1px solid rgba(42,171,238,.14);border-radius:999px;background:#ffffffd1;box-shadow:0 6px 20px #15202b14;color:#5c7080;padding:7px 11px}.system-event button{cursor:pointer}.system-event span{display:grid;min-width:0}.system-event strong,.system-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-event strong{color:#445766;font-size:.76rem;font-weight:900}.system-event small,.system-event time{color:#6b7f8e;font-size:.68rem;font-weight:750}.system-event time{justify-self:start}.message{display:flex;align-items:flex-end;gap:8px;max-width:min(78%,720px);animation:message-in .18s ease-out both}.message.own{align-self:flex-end;justify-content:flex-end}.message.selected .bubble{outline:2px solid rgba(42,171,238,.42);outline-offset:2px}.bubble{display:grid;gap:4px;min-width:92px;border-radius:8px;background:#fff;box-shadow:0 4px 16px #15202b14;padding:8px 10px 6px}.message-highlight .bubble{animation:message-focus 1.5s ease-out both}.message.own .bubble{background:#d7f7c9}.bubble.emoji-bubble,.message.own .bubble.emoji-bubble{position:relative;min-width:96px;background:transparent;box-shadow:none;padding:0 2px 3px}.emoji-bubble>strong{display:none}.bubble .standalone-emoji{position:relative;display:grid;min-width:96px;min-height:96px;place-items:center;overflow:visible;border:0;background:transparent;cursor:pointer;padding:4px 8px 10px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:clamp(4rem,8vw,5.25rem);line-height:1}.standalone-emoji>span{display:inline-block;filter:drop-shadow(0 8px 12px rgba(21,32,43,.16));transform-origin:50% 70%;animation:emoji-arrive .42s cubic-bezier(.2,.9,.25,1.18) both;will-change:transform}.standalone-emoji.tapped>span{animation:emoji-tap .76s cubic-bezier(.17,.84,.36,1.28) both}.emoji-spark{position:absolute;display:none;color:#ffd45e;font-family:system-ui,sans-serif;font-size:1rem;font-style:normal;pointer-events:none}.standalone-emoji.tapped .emoji-spark{display:block;animation:emoji-spark .72s ease-out both}.emoji-spark.spark-one{top:12%;left:8%;--spark-x: -18px;--spark-y: -22px}.emoji-spark.spark-two{top:18%;right:7%;color:#ff739d;--spark-x: 20px;--spark-y: -18px;animation-delay:70ms}.emoji-spark.spark-three{right:12%;bottom:18%;color:#64c8ff;--spark-x: 18px;--spark-y: 16px;animation-delay:.12s}.emoji-bubble .message-meta{justify-self:end;width:auto;margin-top:-18px;border-radius:999px;background:#15202b94;color:#fff;padding:2px 6px;text-shadow:0 1px 2px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.message.own .emoji-bubble .message-meta{display:inline-flex;grid-template-columns:none;justify-self:end;width:auto}.message.own .emoji-bubble .message-meta time,.message.own .emoji-bubble .own-receipt{justify-self:auto}.emoji-bubble .receipt,.emoji-bubble .receipt.read{color:#fff}.emoji-bubble .message-reactions{justify-self:end}.reply-quote{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;min-width:0;border:0;border-left:3px solid #2aabee;border-radius:7px;background:#2aabee1c;color:#2a87bf;cursor:pointer;padding:6px 7px;text-align:left}.reply-quote span{display:grid;min-width:0;gap:1px}.reply-quote strong,.reply-quote small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-quote strong{color:#2a87bf;font-size:.75rem}.reply-quote small{color:#607384;font-size:.74rem;font-weight:750}.bubble strong{color:#2a87bf;font-size:.82rem}.bubble p{margin:0;color:#15202b;line-height:1.42;overflow-wrap:anywhere;white-space:pre-wrap}.forwarded-message-label{display:inline-flex;align-items:center;gap:5px;color:#2a87bf;font-size:.78rem;font-weight:850}.forwarded-message-label svg{flex:0 0 auto}.message-attachment{min-width:0;color:#247faf;text-decoration:none}.media-attachment{display:grid;gap:5px;max-width:min(440px,64vw)}.image-attachment{width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:zoom-in}.media-attachment img,.media-attachment video{display:block;width:100%;max-height:min(58vh,520px);border-radius:7px;background:#15202b14;object-fit:contain}.media-attachment>span,.media-attachment>a{overflow:hidden;color:#4f6676;font-size:.72rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.audio-attachment{width:min(330px,66vw)}.chat-call-button{flex:0 0 auto;color:#1688c5}.chat-call-button:disabled{cursor:default;opacity:.45}.call-overlay{position:fixed;z-index:1500;top:0;right:0;bottom:0;left:0;min-height:100dvh;background:#e8f1f4;color:#13232d}.call-surface{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 24px calc(30px + env(safe-area-inset-bottom));overflow:hidden}.call-close{position:absolute;top:calc(16px + env(safe-area-inset-top));right:18px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#13232d14;color:inherit;cursor:pointer}.call-peer-avatar{display:grid;place-items:center;width:116px;height:116px;margin-bottom:8px;overflow:hidden;border:4px solid rgba(255,255,255,.8);border-radius:50%;background:var(--call-avatar, #2aabee);box-shadow:0 14px 36px #22485b2e;color:#fff;font-size:2.6rem;font-weight:850}.call-peer-avatar img{width:100%;height:100%;object-fit:cover}.call-surface h2{max-width:min(92vw,520px);overflow:hidden;margin:0;font-size:clamp(1.55rem,4vh,2.3rem);text-align:center;text-overflow:ellipsis;white-space:nowrap}.call-status{min-height:24px;margin:0;color:#617681;font-size:1rem;font-weight:750}.call-verification{display:grid;justify-items:center;gap:5px;margin-top:20px;text-align:center}.call-verification span{display:flex;align-items:center;gap:7px;color:#218256;font-size:.9rem;font-weight:800}.call-verification strong{font-size:1.65rem;letter-spacing:0}.call-verification small{color:#617681;font-size:.78rem;font-weight:700}.call-audio-output-error{min-height:20px;margin:6px 0 0;color:#b93838;font-size:.82rem;font-weight:750;text-align:center}.call-actions{display:flex;align-items:flex-start;justify-content:center;gap:clamp(16px,6vw,56px);min-height:94px;margin-top:clamp(34px,8vh,72px)}.call-action-item{display:grid;justify-items:center;gap:8px;width:92px}.call-action-item small{width:100%;color:#405560;font-size:.78rem;font-weight:750;text-align:center}.call-action-button{display:grid;place-items:center;width:64px;height:64px;border:0;border-radius:50%;color:#fff;cursor:pointer;box-shadow:0 10px 24px #1f36412e}.call-action-button svg{width:27px;height:27px}.call-action-button.answer{background:#2ca867}.call-action-button.decline{background:#e64d4d}.call-action-button.secondary,.call-action-button.muted{background:#3e5662}.call-action-button.muted{background:#d88732}.call-action-button:disabled{cursor:wait;opacity:.55}.call-proximity-shield{position:fixed;z-index:2;top:0;right:0;bottom:0;left:0;background:#000;cursor:none;touch-action:none}.audio-attachment audio{display:none}.voice-message-player{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;min-width:250px;border-radius:999px;background:#2aabee1a;padding:6px 12px 6px 6px}.voice-play-button{display:grid;width:42px;height:42px;border:0;border-radius:50%;background:#2aabee;color:#fff;cursor:pointer;place-items:center}.voice-play-button:hover{background:#229ddc}.voice-play-button svg{margin-left:1px}.voice-message-body{display:grid;min-width:0;gap:2px}.voice-message-body time{color:#607384;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:850}.voice-waveform{display:flex;width:100%;height:28px;min-width:0;align-items:center;gap:2px}.voice-waveform-bar{width:3px;flex:1 1 0;max-width:5px;min-width:2px;border-radius:999px;background:#445b6a4d;transition:height 90ms ease,background .14s ease}.voice-waveform-bar.played{background:#2aabee}.file-attachment{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 9px;width:min(340px,64vw);border-radius:7px;background:#2aabee1a;padding:7px}.file-attachment>span{grid-row:1 / 3;display:grid;width:42px;height:42px;border-radius:50%;background:#2aabee;color:#fff;place-items:center}.file-attachment strong,.file-attachment small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment small{color:#657a89;font-size:.74rem;font-weight:750}.media-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;background:#050a10f0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));place-items:center}.media-viewer{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0}.media-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;color:#fff}.media-viewer>header>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-viewer-actions{display:flex;align-items:center;flex:0 0 auto;gap:8px}.media-viewer .icon-button{color:#fff}.media-download{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:999px;background:#2aabee;color:#fff;padding:0 16px;font-weight:850;text-decoration:none;cursor:pointer}.media-download:hover,.media-download:focus-visible{background:#168fd0}.media-download:disabled{cursor:wait;opacity:.62}.media-viewer-error{position:absolute;top:58px;right:0;z-index:1;max-width:min(420px,100%);margin:0;border-radius:10px;background:#b54134f0;color:#fff;padding:9px 12px;font-size:.82rem;font-weight:750}.media-viewer-feedback{position:absolute;top:58px;right:0;z-index:1;max-width:min(420px,100%);margin:0;border-radius:10px;background:#19744ef0;color:#fff;padding:9px 12px;font-size:.82rem;font-weight:750}.media-viewer-stage{display:grid;min-width:0;min-height:0;overflow:hidden;place-items:center}.media-viewer-stage img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}.profile-photo-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;background:#050a10f5;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));place-items:center}.profile-photo-viewer{display:grid;grid-template-rows:52px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0}.profile-photo-viewer>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;color:#fff}.profile-photo-viewer>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-photo-viewer .icon-button{flex:0 0 auto;color:#fff}.profile-photo-viewer-stage{display:grid;min-width:0;min-height:0;overflow:hidden;place-items:center}.profile-photo-viewer-stage img{display:block;width:100%;height:100%;object-fit:contain}.message-meta{display:inline-flex;align-items:center;gap:3px;justify-self:end;color:#6b7f8e;font-size:.74rem;font-weight:700}.message.own .message-meta{display:grid;grid-template-columns:auto auto;width:100%;justify-self:stretch}.message.own .message-meta time{justify-self:start}.message.own .own-receipt{justify-self:end}.receipt{display:inline-grid;color:#7a8d9b}.receipt.read{color:#2aabee}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px}.message-reactions button{display:inline-flex;align-items:center;gap:3px;min-height:24px;border:1px solid rgba(42,171,238,.16);border-radius:999px;background:#edf4f8d6;color:#607384;cursor:pointer;font-size:.78rem;font-weight:850;padding:2px 7px}.message-reactions button.active{border-color:#2aabee6b;background:#2aabee29;color:#238bc6}.message-reactions button:hover span{animation:emoji-pop .52s ease-in-out both}.message-context-menu{position:fixed;z-index:45;display:grid;width:min(238px,calc(100vw - 16px));border:1px solid rgba(96,115,132,.18);border-radius:10px;background:#fffffff5;box-shadow:0 18px 48px #15202b38;padding:6px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:fade-up .12s ease-out both}.reaction-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:7px;border-bottom:1px solid rgba(96,115,132,.14);padding-bottom:8px}.message-context-menu .reaction-row button{display:grid;grid-template-columns:1fr;min-height:40px;place-items:center;padding:0}.message-context-menu button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;min-height:40px;border:0;border-radius:8px;background:transparent;color:#15202b;cursor:pointer;font-weight:800;padding:0 9px;text-align:left}.message-context-menu button:hover{background:#edf4f8}.message-context-menu svg{color:#2aabee}.forward-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;display:grid;place-items:center;background:#06141f5c;padding:16px}.forward-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(420px,100%);max-height:min(620px,calc(100dvh - 32px));overflow:hidden;border:1px solid rgba(96,115,132,.16);border-radius:10px;background:#fff;box-shadow:0 26px 80px #15202b42}.forward-panel header{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:64px;border-bottom:1px solid #dce5ec;padding:10px 14px}.forward-panel header div,.forward-chat-list button span{display:grid;min-width:0}.forward-panel header span,.forward-chat-list small{color:#6b7f8e;font-size:.78rem;font-weight:800}.forward-panel header strong,.forward-chat-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forward-preview{overflow:hidden;margin:0;border-bottom:1px solid #dce5ec;color:#6b7f8e;font-size:.86rem;font-weight:750;padding:10px 14px;text-overflow:ellipsis;white-space:nowrap}.forward-chat-list{display:grid;align-content:start;gap:6px;min-height:0;overflow-y:auto;padding:10px}.forward-chat-list button{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;border:0;border-radius:8px;background:transparent;color:#15202b;cursor:pointer;padding:7px;text-align:left}.forward-chat-list button:hover{background:#edf4f8}.forward-chat-list button:disabled{cursor:wait;opacity:.58}.emoji-tray{position:absolute;right:14px;bottom:calc(100% + 10px);z-index:9;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(366px,calc(100% - 28px));max-height:min(430px,calc(100dvh - 150px));margin:0;border:1px solid rgba(42,171,238,.18);overflow:hidden;border-radius:14px;background:#fffffffa;box-shadow:0 18px 48px #15202b2e;padding:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:fade-up .14s ease-out both}.emoji-tray>span{color:#6b7f8e;font-size:.78rem;font-weight:850;padding:14px}.emoji-picker-host{display:block;min-height:0}.emoji-picker-host em-emoji-picker{width:100%;height:min(420px,calc(100dvh - 150px));max-height:100%;border:0;--border-radius: 0;--rgb-accent: 42, 171, 238;--font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif}.message-context-menu .reaction-row button:hover{transform:translateY(-1px) scale(1.04)}.message-context-menu .reaction-row button:hover .animated-emoji{animation:emoji-pop .52s ease-in-out both}.animated-emoji{display:inline-block;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.55rem;line-height:1}.composer{grid-row:4;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 42px 44px;grid-template-rows:auto auto;align-items:center;gap:8px;min-height:66px;border-top:1px solid #dce5ec;background:#fffffff0;padding:10px 14px}.composer input.attachment-input{display:none}.voice-recorder-panel{display:grid;grid-column:1 / -1;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;justify-self:center;gap:9px;min-width:0;width:min(620px,100%)}.voice-recording-status{display:grid;grid-template-columns:minmax(116px,auto) minmax(0,1fr);min-width:0;height:48px;align-items:center;gap:10px;border-radius:999px;background:#edf4f8;color:#263a48;padding:0 12px}.voice-recording-copy{display:flex;min-width:0;align-items:center;gap:7px}.voice-recording-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#e15145;animation:voice-recording-pulse 1.2s ease-in-out infinite}.voice-recording-copy strong{overflow:hidden;flex:1 1 auto;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.voice-recording-copy time{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:850}.recording-waveform{width:100%}.recording-waveform .voice-waveform-bar{background:#2aabeeb8}.voice-cancel{color:#c74335}@keyframes voice-recording-pulse{0%,to{opacity:.4;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}.upload-queue{display:flex;grid-column:1 / -1;gap:8px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 3px;scrollbar-width:thin}.upload-card{display:grid;grid-template-columns:48px minmax(112px,1fr) 34px;align-items:center;gap:8px;min-width:min(310px,78vw);border:1px solid rgba(42,171,238,.24);border-radius:10px;background:#edf7fcf5;padding:6px;animation:upload-card-in .19s ease-out both}.upload-card.pending{grid-template-columns:78px minmax(130px,1fr) 34px}.upload-card.pending .upload-preview{width:78px;height:78px}.upload-card.complete{border-color:#2f8b6759;animation:upload-complete .52s ease-out both}.upload-card.error{border-color:#c7433566;background:#ffefecfa}.upload-preview{position:relative;display:grid;width:48px;height:48px;overflow:hidden;border-radius:9px;background:#dcebf3;color:#4e7186;place-items:center}.upload-preview img,.upload-preview video{width:100%;height:100%;object-fit:cover}.upload-progress{position:absolute;top:5px;right:5px;bottom:5px;left:5px;display:grid;border-radius:50%;place-items:center;transition:background .13s linear}.upload-progress i{width:26px;height:26px;border-radius:50%;background:#ffffffeb}.upload-details{display:grid;min-width:0;gap:3px}.upload-details strong,.upload-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-details strong{color:#263a48;font-size:.82rem}.upload-details small{color:#647d8e;font-size:.73rem;font-weight:750}.upload-card.error .upload-details small{color:#b54134}.upload-actions{display:grid;gap:3px}@keyframes upload-card-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes upload-complete{0%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:translateY(-5px) scale(.98)}}.reply-composer-preview{display:grid;grid-column:1 / -1;grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:44px;border:1px solid rgba(42,171,238,.22);border-radius:8px;background:#2aabee14;color:#2a87bf;padding:7px 8px}.reply-composer-preview span{display:grid;min-width:0;gap:1px}.reply-composer-preview strong,.reply-composer-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-composer-preview small{color:#607384;font-size:.78rem;font-weight:750}.chat-error{grid-row:5;margin:0;border-top:1px solid #dce5ec;background:#fffffff5;color:#c74335;font-size:.86rem;font-weight:800;padding:8px 16px calc(8px + env(safe-area-inset-bottom))}.composer input{width:100%;height:44px;border-radius:8px;background:#edf4f8;color:#15202b;padding:0 14px;transition:background .16s ease,box-shadow .16s ease}.send{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:#2aabee;color:#fff;cursor:pointer;transition:background .16s ease,transform .16s ease,opacity .16s ease}.send:hover:not(:disabled){background:#249dd8;transform:translateY(-1px) scale(1.03)}.send:active:not(:disabled){transform:translateY(0) scale(.97)}:root[data-theme=dark] .splash{color:#6ab7f3}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .settings-panel,:root[data-theme=dark] .bubble,:root[data-theme=dark] .notification-toast{border-color:#8ea6b924;background:#17212b;box-shadow:0 24px 80px #00000057}:root[data-theme=dark] .auth-brand p,:root[data-theme=dark] .auth-form span,:root[data-theme=dark] .settings-header span,:root[data-theme=dark] .settings-section h2,:root[data-theme=dark] .settings-section>label>span,:root[data-theme=dark] .color-picker>span,:root[data-theme=dark] .background-picker>span,:root[data-theme=dark] .profile-text span,:root[data-theme=dark] .chat-preview,:root[data-theme=dark] .chat-item time,:root[data-theme=dark] .chat-heading-copy>span,:root[data-theme=dark] .search-hint,:root[data-theme=dark] .user-result small,:root[data-theme=dark] .password-meter-row,:root[data-theme=dark] .password-meter small,:root[data-theme=dark] .empty,:root[data-theme=dark] .session-item small,:root[data-theme=dark] .session-hint,:root[data-theme=dark] .notification-section p,:root[data-theme=dark] .notification-toast small,:root[data-theme=dark] .no-chat-selected,:root[data-theme=dark] .no-chat-selected p,:root[data-theme=dark] .pinned-banner small,:root[data-theme=dark] .chat-info-header span,:root[data-theme=dark] .section-label,:root[data-theme=dark] .chat-info-card p,:root[data-theme=dark] .chat-info-content>p,:root[data-theme=dark] .empty-info-state p,:root[data-theme=dark] .info-list small,:root[data-theme=dark] .info-list em,:root[data-theme=dark] .member-list small,:root[data-theme=dark] .dialog-field>span,:root[data-theme=dark] .member-invite-field>label,:root[data-theme=dark] .invite-card-title small,:root[data-theme=dark] .pending-invite-row small,:root[data-theme=dark] .sound-setting small{color:#8ea6b9}:root[data-theme=dark] .microphone-help{border-color:#30485b;background:#202f3d}:root[data-theme=dark] .profile-action-popover,:root[data-theme=dark] .invite-summary-card,:root[data-theme=dark] .invite-card,:root[data-theme=dark] .pending-invite-row{border-color:#8ea6b924;background:#202f3d;color:#6ab7f3}:root[data-theme=dark] .settings-footer{border-color:#223241;background:#17212bf5}:root[data-theme=dark] .profile-action-popover button{color:#dbe7ef}:root[data-theme=dark] .profile-action-popover button:hover,:root[data-theme=dark] .profile-action-popover button:focus-visible,:root[data-theme=dark] .chat-heading-button:hover,:root[data-theme=dark] .chat-heading-button:focus-visible{background:#243647}:root[data-theme=dark] .forward-panel header span,:root[data-theme=dark] .forward-preview,:root[data-theme=dark] .forward-chat-list small{color:#8ea6b9}:root[data-theme=dark] .chat-preview.search-match{color:var(--accent)}:root[data-theme=dark] .first-message-link,:root[data-theme=dark] .first-message-link strong,:root[data-theme=dark] .reply-quote strong,:root[data-theme=dark] .reply-composer-preview strong{color:#e7eef5}:root[data-theme=dark] .first-message-link:hover,:root[data-theme=dark] .message-context-menu button:hover{background:#243647}:root[data-theme=dark] .first-message-link small,:root[data-theme=dark] .reply-quote small,:root[data-theme=dark] .reply-composer-preview small{color:#8ea6b9}:root[data-theme=dark] .forwarded-message-label{color:#6ab7f3}:root[data-theme=dark] .auth-brand h1,:root[data-theme=dark] .mode-switch .active,:root[data-theme=dark] .profile-text strong,:root[data-theme=dark] .chat-title,:root[data-theme=dark] .user-result,:root[data-theme=dark] .chat-heading h1,:root[data-theme=dark] .notification-toast,:root[data-theme=dark] .no-chat-selected h1,:root[data-theme=dark] .chat-info-header strong,:root[data-theme=dark] .info-list a,:root[data-theme=dark] .info-list button,:root[data-theme=dark] .member-list button,:root[data-theme=dark] .bubble p,:root[data-theme=dark] .background-choice,:root[data-theme=dark] .message-context-menu button,:root[data-theme=dark] .forward-chat-list button,:root[data-theme=dark] .settings-header strong,:root[data-theme=dark] .password-meter-row strong{color:#e7eef5}:root[data-theme=dark] .mode-switch,:root[data-theme=dark] .language-toggle,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .search,:root[data-theme=dark] .composer input,:root[data-theme=dark] .ghost-button,:root[data-theme=dark] .password-track,:root[data-theme=dark] .session-item,:root[data-theme=dark] .background-choice,:root[data-theme=dark] .message-context-menu,:root[data-theme=dark] .forward-panel,:root[data-theme=dark] .emoji-tray,:root[data-theme=dark] .emoji-tray button,:root[data-theme=dark] .chat-info-card,:root[data-theme=dark] .first-message-link,:root[data-theme=dark] .chat-info-tabs button,:root[data-theme=dark] .info-list a,:root[data-theme=dark] .info-list button,:root[data-theme=dark] .member-list button,:root[data-theme=dark] .empty-info-state,:root[data-theme=dark] .sound-setting{background:#202b36}:root[data-theme=dark] .reply-quote,:root[data-theme=dark] .reply-composer-preview,:root[data-theme=dark] .message-reactions button{background:#2aabee1f}:root[data-theme=dark] .voice-message-player,:root[data-theme=dark] .voice-recording-status{background:#202b36;color:#e7eef5}:root[data-theme=dark] .voice-message-body time{color:#8ea6b9}:root[data-theme=dark] .voice-waveform-bar{background:#8ea6b95c}:root[data-theme=dark] .voice-waveform-bar.played,:root[data-theme=dark] .recording-waveform .voice-waveform-bar{background:#6ab7f3}:root[data-theme=dark] .message-reactions button{border-color:#8ea6b929;color:#8ea6b9}:root[data-theme=dark] .message-reactions button.active{border-color:#2aabee75;background:#2aabee33;color:#65c6ff}:root[data-theme=dark] .system-event button,:root[data-theme=dark] .system-event div{border-color:#7ad0ff2e;background:#202b36e6;box-shadow:0 8px 24px #0003;color:#8ea6b9}:root[data-theme=dark] .system-event strong{color:#d8e4ef}:root[data-theme=dark] .system-event small,:root[data-theme=dark] .system-event time{color:#8ea6b9}:root[data-theme=dark] .member-add-button{border-color:#7ad0ff47;background:#2aabee24;color:#7ad0ff}:root[data-theme=dark] .member-list .member-remove{color:#ff8a7b}:root[data-theme=dark] .emoji-tray{border-color:#2aabee33;background:#17212bfa}:root[data-theme=dark] .message-context-menu .reaction-row button{border-color:#8ea6b91f;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.16),rgba(255,255,255,.04) 42%,transparent 44%),linear-gradient(145deg,#2aabee33,#8b6fcb2e)}:root[data-theme=dark] .mode-switch .active,:root[data-theme=dark] .language-toggle .active,:root[data-theme=dark] .theme-toggle .active,:root[data-theme=dark] .settings-form input:not([type=file]){background:#0f1a24}:root[data-theme=dark] .app{border-color:#8ea6b91f;background:#0e1621}:root[data-theme=dark] .sidebar{border-color:#223241;background:#17212b}:root[data-theme=dark] .chat{background:linear-gradient(#0e1621e0,#0e1621e0),repeating-linear-gradient(45deg,rgba(42,171,238,.1) 0 2px,transparent 2px 18px)}:root[data-theme=dark] .chat-header,:root[data-theme=dark] .composer,:root[data-theme=dark] .settings-header,:root[data-theme=dark] .forward-panel header,:root[data-theme=dark] .forward-preview,:root[data-theme=dark] .chat-error,:root[data-theme=dark] .pinned-banner,:root[data-theme=dark] .chat-info-panel,:root[data-theme=dark] .chat-info-header{border-color:#223241;background:#17212bf0}:root[data-theme=dark] .call-overlay{background:#17262d;color:#f2f7f9}:root[data-theme=dark] .call-status,:root[data-theme=dark] .call-verification small,:root[data-theme=dark] .call-action-item small{color:#a9bac2}:root[data-theme=dark] .call-verification span{color:#6fd6a2}:root[data-theme=dark] .call-close{background:#ffffff1a}:root[data-theme=dark] .auth-form input,:root[data-theme=dark] .settings-form input:not([type=file]),:root[data-theme=dark] .search input,:root[data-theme=dark] .composer input{border-color:#8ea6b929;caret-color:#6ab7f3;color:#e7eef5}:root[data-theme=dark] .icon-button,:root[data-theme=dark] .pin-button,:root[data-theme=dark] .ghost-button{color:#8ea6b9}:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .user-result:hover,:root[data-theme=dark] .chat-item:hover,:root[data-theme=dark] .message-context-menu button:hover,:root[data-theme=dark] .forward-chat-list button:hover{background:#202b36}:root[data-theme=dark] .chat-item.active,:root[data-theme=dark] .chat-item.drag-over,:root[data-theme=dark] .icon-button.active,:root[data-theme=dark] .chat-info-tabs button.active{background:#22384b}:root[data-theme=dark] .pin-button:hover,:root[data-theme=dark] .secondary-button{background:#203548}:root[data-theme=dark] .message.own .bubble{background:#2b5278}:root[data-theme=dark] .receipt,:root[data-theme=dark] .message-meta{color:#a8bdcc}:root[data-theme=dark] .receipt.read,:root[data-theme=dark] .language-toggle .active,:root[data-theme=dark] .theme-toggle .active,:root[data-theme=dark] .bubble strong{color:#6ab7f3}:root[data-theme=dark] .history-loader{background:#17212be6;color:#8ea6b9}:root[data-theme=dark] .online-dot{border-color:#17212b}:root[data-theme=dark] .chat-icon-badge{border-color:#17212b}:root[data-chat-background=classic] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,linear-gradient(#edf4f8e6,#edf4f8e6),repeating-linear-gradient(45deg,rgba(42,171,238,.08) 0 2px,transparent 2px 18px)}:root[data-theme=dark][data-chat-background=classic] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,linear-gradient(#0e1621e0,#0e1621e0),repeating-linear-gradient(45deg,rgba(42,171,238,.1) 0 2px,transparent 2px 18px)}:root[data-chat-background=doodle] .chat{background:url(/chat-doodle.svg) center / 280px 280px repeat,radial-gradient(circle at 12% 20%,rgba(42,171,238,.12) 0 12px,transparent 13px),radial-gradient(circle at 78% 16%,rgba(47,139,103,.12) 0 10px,transparent 11px),radial-gradient(circle at 26% 72%,rgba(217,79,128,.1) 0 9px,transparent 10px),linear-gradient(135deg,#edf6f8,#e5f0f4)}:root[data-theme=dark][data-chat-background=doodle] .chat{background:url(/chat-doodle.svg) center / 280px 280px repeat,radial-gradient(circle at 12% 20%,rgba(106,183,243,.13) 0 12px,transparent 13px),radial-gradient(circle at 78% 16%,rgba(47,139,103,.16) 0 10px,transparent 11px),radial-gradient(circle at 26% 72%,rgba(217,79,128,.12) 0 9px,transparent 10px),linear-gradient(135deg,#0e1621,#17212b)}:root[data-chat-background=mint] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,linear-gradient(135deg,rgba(47,139,103,.22),transparent 42%),linear-gradient(315deg,rgba(42,171,238,.2),transparent 42%),#e7f5ee}:root[data-theme=dark][data-chat-background=mint] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,linear-gradient(135deg,rgba(47,139,103,.18),transparent 42%),linear-gradient(315deg,rgba(42,171,238,.14),transparent 42%),#101c24}:root[data-chat-background=sunset] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,radial-gradient(circle at 18% 22%,rgba(255,184,77,.36),transparent 32%),radial-gradient(circle at 86% 72%,rgba(217,79,128,.28),transparent 34%),linear-gradient(135deg,#f7ece4,#edf3f7)}:root[data-theme=dark][data-chat-background=sunset] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,radial-gradient(circle at 18% 22%,rgba(255,184,77,.16),transparent 32%),radial-gradient(circle at 86% 72%,rgba(217,79,128,.2),transparent 34%),linear-gradient(135deg,#111824,#1b2532)}:root[data-chat-background=night] .chat,:root[data-theme=dark][data-chat-background=night] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,radial-gradient(circle at 18% 20%,rgba(106,183,243,.18),transparent 28%),radial-gradient(circle at 78% 80%,rgba(139,111,203,.16),transparent 34%),linear-gradient(135deg,#0e1621,#172436)}:root[data-chat-background=waves] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,repeating-radial-gradient(circle at 20% 10%,rgba(42,171,238,.13) 0 3px,transparent 3px 24px),repeating-linear-gradient(135deg,rgba(47,139,103,.08) 0 2px,transparent 2px 24px),linear-gradient(135deg,#e7f5f8,#f4fbfb);animation:background-pan 34s linear infinite}:root[data-theme=dark][data-chat-background=waves] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,repeating-radial-gradient(circle at 20% 10%,rgba(106,183,243,.14) 0 3px,transparent 3px 24px),repeating-linear-gradient(135deg,rgba(47,139,103,.12) 0 2px,transparent 2px 24px),linear-gradient(135deg,#0d1822,#17212b);animation:background-pan 34s linear infinite}:root[data-chat-background=aurora] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,radial-gradient(circle at 20% 20%,rgba(42,171,238,.2),transparent 32%),radial-gradient(circle at 80% 72%,rgba(217,79,128,.2),transparent 36%),radial-gradient(circle at 50% 50%,rgba(47,139,103,.14),transparent 38%),linear-gradient(135deg,#eaf2f8,#f4f8fb);animation:background-pan 42s ease-in-out infinite alternate}:root[data-theme=dark][data-chat-background=aurora] .chat{background:url(/chat-doodle.svg) center / 320px 320px repeat,radial-gradient(circle at 20% 20%,rgba(42,171,238,.18),transparent 32%),radial-gradient(circle at 80% 72%,rgba(217,79,128,.16),transparent 36%),radial-gradient(circle at 50% 50%,rgba(47,139,103,.16),transparent 38%),linear-gradient(135deg,#0d1520,#17212b);animation:background-pan 42s ease-in-out infinite alternate}@media(max-width:1180px){.app.chat-info-open{grid-template-columns:360px minmax(0,1fr)}.app.sidebar-collapsed.chat-info-open{grid-template-columns:76px minmax(0,1fr)}.chat-info-panel{position:fixed;top:0;right:0;width:min(380px,100vw);height:100vh;height:100dvh;box-shadow:-18px 0 54px #15202b24}}@media(max-width:820px){.app{grid-template-columns:76px minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%}.app.chat-info-open,.app.sidebar-collapsed.chat-info-open{grid-template-columns:76px minmax(0,1fr)}.sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:1px solid #dce5ec;border-bottom:0}.chat{min-height:0;grid-template-rows:64px auto minmax(0,1fr) auto auto}.profile{grid-template-columns:44px;justify-content:center;gap:8px;min-height:112px;padding:10px 8px}.profile-action-popover{position:fixed;top:calc(68px + env(safe-area-inset-top));right:auto;left:68px}.sidebar .profile-text,.sidebar>.search,.sidebar .user-results,.sidebar .chat-summary,.sidebar .chat-meta,.sidebar .pin-button{display:none}.invite-summary-card{position:relative;grid-template-columns:24px;justify-content:center;width:60px;min-height:52px;margin:4px 8px;padding:8px}.invite-summary-copy{display:none}.invite-summary-card strong{position:absolute;top:-3px;right:-3px}.chat-list{display:grid;align-content:start;gap:8px;overflow-x:hidden;overflow-y:visible;padding:8px}.chat-item{grid-template-columns:44px;justify-content:center;width:60px;min-height:60px;padding:8px}.chat-icon-badge{display:grid}.message{max-width:92%}.composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.icon-button,.send{min-width:44px;min-height:44px}.settings-panel{align-self:stretch;max-height:calc(100dvh - 24px)}.chat-info-panel{right:0;width:min(360px,calc(100vw - 76px))}.settings-actions{grid-template-columns:1fr 1fr}.settings-logout{grid-column:1 / -1}}@media(max-width:520px){.media-viewer>header{align-content:start;flex-wrap:wrap;padding-bottom:8px}.media-viewer>header>strong,.media-viewer-actions{width:100%}.media-viewer-actions{justify-content:flex-end}.media-download{min-height:44px;padding-inline:12px;font-size:.84rem}.media-viewer-error,.media-viewer-feedback{top:108px}.app{grid-template-columns:64px minmax(0,1fr)}.app.sidebar-collapsed,.app:not(.sidebar-collapsed){grid-template-columns:64px minmax(0,1fr)}.app.chat-info-open,.app.sidebar-collapsed.chat-info-open{grid-template-columns:64px minmax(0,1fr)}.chat-list{padding-inline:6px}.chat-item,.app.sidebar-collapsed .chat-item{width:52px;min-height:56px;padding:6px}.chat-icon-badge{top:2px;right:2px;min-width:19px;height:19px;font-size:.66rem}.notification-stack{top:calc(10px + env(safe-area-inset-top));right:8px;left:72px;width:auto}.voice-message-player{min-width:min(250px,64vw)}.voice-recording-status{grid-template-columns:62px minmax(0,1fr);gap:8px;padding-inline:10px}.voice-recording-copy strong{display:none}.group-dialog-backdrop{align-items:end;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.group-dialog{width:100%;max-height:calc(100dvh - 16px - env(safe-area-inset-bottom))}.invite-actions{grid-template-columns:1fr}.notification-section>.sound-setting{grid-template-columns:1fr}.sound-toggle{width:100%}.microphone-actions>button,.microphone-help .secondary-button{width:100%;min-height:44px;justify-content:center}.background-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.member-add-form{grid-template-columns:1fr}.member-add-button{width:100%}.emoji-tray{right:8px;bottom:calc(100% + 8px);width:calc(100% - 16px)}.chat-info-panel{width:calc(100vw - 64px)}.profile,.app.sidebar-collapsed .profile{grid-template-columns:44px;min-height:150px;padding-inline:6px}.composer{grid-template-columns:44px minmax(0,1fr) 44px 48px;grid-template-rows:auto;min-height:64px;gap:5px;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.composer>.attach-button{grid-column:1}.composer>.message-input{grid-column:2;min-width:0;border-radius:999px}.composer>.emoji-button{grid-column:3}.composer>.send{grid-column:4}}@media(max-width:680px){.call-surface{justify-content:flex-start;padding-top:calc(12vh + env(safe-area-inset-top))}.call-actions{margin-top:auto;padding-top:24px}.call-action-item{width:84px}.app,.app.sidebar-collapsed,.app:not(.sidebar-collapsed),.app.chat-info-open,.app.sidebar-collapsed.chat-info-open{position:relative;grid-template-columns:minmax(0,1fr);overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}.mobile-home-indicator{position:fixed;right:0;bottom:0;left:0;z-index:1400;display:block;height:max(18px,env(safe-area-inset-bottom));pointer-events:none}.mobile-home-indicator:after{position:absolute;right:50%;bottom:max(5px,calc(env(safe-area-inset-bottom) - 27px));width:min(134px,34vw);height:5px;border-radius:999px;background:#fff;content:"";mix-blend-mode:difference;transform:translate(50%)}.app.back-gesture-chat.mobile-chat-open .sidebar{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100%;border-right:0;animation:none;pointer-events:none}.app.back-gesture-chat.mobile-chat-open .profile{grid-template-columns:44px minmax(0,1fr) 44px 44px;justify-content:normal;gap:10px;min-height:68px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.app.back-gesture-chat.mobile-chat-open .sidebar .profile-text,.app.back-gesture-chat.mobile-chat-open .sidebar>.search,.app.back-gesture-chat.mobile-chat-open .sidebar .user-results,.app.back-gesture-chat.mobile-chat-open .sidebar .chat-summary,.app.back-gesture-chat.mobile-chat-open .sidebar .chat-meta{display:grid}.app.back-gesture-chat.mobile-chat-open .sidebar-collapse-button,.app.back-gesture-chat.mobile-chat-open .pin-button,.app.back-gesture-chat.mobile-chat-open .chat-icon-badge{display:none}.app.back-gesture-chat.mobile-chat-open .invite-summary-card{position:static;grid-template-columns:26px minmax(0,1fr) auto;justify-content:stretch;width:calc(100% - 16px);min-height:48px;margin:4px 8px 6px;padding:8px 10px}.app.back-gesture-chat.mobile-chat-open .invite-summary-copy{display:block}.app.back-gesture-chat.mobile-chat-open .invite-summary-card strong{position:static}.app.back-gesture-chat.mobile-chat-open .chat-list{display:block;padding:4px 8px calc(12px + env(safe-area-inset-bottom))}.app.back-gesture-chat.mobile-chat-open .chat-item,.app.back-gesture-chat.mobile-chat-open.sidebar-collapsed .chat-item{grid-template-columns:48px minmax(0,1fr) 52px;justify-content:normal;width:100%;min-height:66px;padding:8px 10px}.app.back-gesture-chat .chat,.app.back-gesture-info .chat-info-panel{will-change:transform;transform:translate3d(var(--back-gesture-offset, 0),0,0)}.app.back-gesture-chat .chat{position:relative;z-index:1;box-shadow:-12px 0 34px #15202b38}.app.back-gesture-info .chat-info-panel{animation:none}.app.back-gesture-settling .chat,.app.back-gesture-settling .chat-info-panel{transition:transform .18s cubic-bezier(.2,.72,.2,1);pointer-events:none}.app.back-gesture-dragging .chat,.app.back-gesture-dragging .chat-info-panel{transition:none}.app.mobile-chat-open .sidebar{display:none}.app:not(.mobile-chat-open) .sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100%;border-right:0}.app:not(.mobile-chat-open) .chat{display:none}.app:not(.mobile-chat-open) .profile{grid-template-columns:44px minmax(0,1fr) 44px 44px;justify-content:normal;gap:10px;min-height:68px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.app:not(.mobile-chat-open) .profile-action-popover{right:8px;left:auto}.app:not(.mobile-chat-open) .sidebar .profile-text,.app:not(.mobile-chat-open) .sidebar>.search,.app:not(.mobile-chat-open) .sidebar .user-results,.app:not(.mobile-chat-open) .sidebar .chat-summary,.app:not(.mobile-chat-open) .sidebar .chat-meta{display:grid}.app:not(.mobile-chat-open) .invite-summary-card{position:static;grid-template-columns:26px minmax(0,1fr) auto;justify-content:stretch;width:calc(100% - 16px);min-height:48px;margin:4px 8px 6px;padding:8px 10px}.app:not(.mobile-chat-open) .invite-summary-copy{display:block}.app:not(.mobile-chat-open) .invite-summary-card strong{position:static}.app:not(.mobile-chat-open) .pin-button{display:none}.app:not(.mobile-chat-open) .sidebar-collapse-button{display:none}.app:not(.mobile-chat-open) .chat-list{display:block;padding:4px 8px calc(12px + env(safe-area-inset-bottom))}.app:not(.mobile-chat-open) .chat-item,.app.sidebar-collapsed:not(.mobile-chat-open) .chat-item{grid-template-columns:48px minmax(0,1fr) 52px;justify-content:normal;width:100%;min-height:66px;padding:8px 10px}.app:not(.mobile-chat-open) .chat-icon-badge{display:none}.mobile-back-button{display:grid}.chat{grid-template-rows:auto auto minmax(0,1fr) auto auto;width:100%}.chat-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px}.chat-heading{gap:9px}.chat-heading-button{width:100%}.chat-heading .chat-avatar.large{width:44px;height:44px}.chat-info-panel{width:100vw}.notification-stack{left:8px}}@media(max-height:640px){.profile{min-height:56px;padding-block:6px}.chat-header,.chat-info-header{min-height:58px;padding-block:6px}.messages{padding-block:12px}.settings-backdrop{padding:8px}.settings-panel{max-height:calc(100dvh - 16px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
