:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f2f5f1;--muted:#8fa5a7;--subtle:#637b7e;--bg:#061419;--bg-deep:#041015;--surface:#0b2026;--surface-strong:#102930;--line:#bfe1da1f;--accent:#84ddc6;--accent-strong:#57c9ac;--warm:#f3a985;--danger:#ff8f85;--shadow:0 28px 80px #00000059;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--bg-deep);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}button,input,textarea,select{color:inherit;font:inherit}input,textarea,select{font-size:16px}button{border:0}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.eyebrow{color:var(--accent);letter-spacing:.2em;margin:0 0 12px;font-size:.7rem;font-weight:750}.muted{color:var(--muted);margin:8px 0 0;font-size:.9rem;line-height:1.7}.button{border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:700;transition:transform .16s,background-color .16s,opacity .16s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)scale(.995)}.button:disabled{cursor:not-allowed;opacity:.5}.button--wide{width:100%}.button--primary{color:#062018;background:var(--accent);box-shadow:0 9px 30px #57c9ac29}.button--primary:not(:disabled):hover{background:#98e6d2}.button--secondary{color:var(--ink);border:1px solid var(--line);background:#ffffff0f}.button--compact{color:#062018;background:var(--accent);border-radius:11px;min-height:38px;padding:0 16px}.text-button{color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:6px;padding:8px;display:inline-flex}.icon-button{width:42px;height:42px;color:var(--muted);background:0 0;border-radius:13px;flex:none;place-items:center;transition:color .16s,background-color .16s;display:inline-grid}.icon-button:not(:disabled):hover{color:var(--ink);background:#ffffff0f}.field{gap:8px;display:grid}.field>span:first-child{color:#b7c6c5;font-size:.78rem;font-weight:650}.field input{border:1px solid var(--line);width:100%;height:48px;color:var(--ink);background:#00000029;border-radius:13px;padding:0 14px;transition:border-color .16s,background-color .16s}.field input::placeholder,.composer textarea::placeholder{color:#597174}.field input:focus{background:#0000003d;border-color:#84ddc68f}.input-with-action{position:relative}.input-with-action input{padding-right:46px}.input-with-action button{width:38px;height:38px;color:var(--subtle);background:0 0;place-items:center;display:grid;position:absolute;top:5px;right:5px}.form-stack{gap:17px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-note,.form-error{align-items:center;gap:7px;margin:-5px 0 0;font-size:.76rem;line-height:1.5;display:flex}.form-note{color:var(--subtle)}.form-error{color:#ffb0a9;background:#ff5b4f14;border:1px solid #ff8f853d;border-radius:10px;padding:10px 12px}.auth-page{background:var(--bg);grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);height:100dvh;min-height:100dvh;display:grid}.auth-story{background:radial-gradient(circle at 84% 18%,#f3a98533,#0000 31%),radial-gradient(circle at 20% 88%,#57c9ac30,#0000 36%),linear-gradient(145deg,#0b262c 0%,#071a20 55%,#061419 100%);flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(34px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";border:1px solid #84ddc61a;border-radius:50%;position:absolute}.auth-story:before{aspect-ratio:1;width:68vw;max-width:700px;top:18%;right:-34%}.auth-story:after{aspect-ratio:1;width:38vw;max-width:460px;bottom:-24%;right:-12%}.brand-lockup,.auth-panel__mobile-brand{z-index:1;color:var(--accent);letter-spacing:.22em;align-items:center;gap:13px;font-size:.8rem;font-weight:800;display:flex;position:relative}.auth-story__content{z-index:1;max-width:560px;margin:90px 0;position:relative}.auth-story__content h1{letter-spacing:-.055em;max-width:520px;margin:0;font-size:clamp(2.8rem,5.2vw,5.9rem);font-weight:580;line-height:1.12}.auth-story__content>p:last-child{color:#9bb2b1;max-width:440px;margin:28px 0 0;font-size:.96rem;line-height:1.85}.feature-list{z-index:1;color:#91a9a8;flex-wrap:wrap;gap:24px;margin:0;padding:0;font-size:.77rem;list-style:none;display:flex;position:relative}.feature-list li{align-items:center;gap:7px;display:flex}.auth-panel{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) clamp(28px, 8vw, 120px) max(28px, env(safe-area-inset-bottom));background:#08191e;place-items:center;display:grid;overflow-y:auto}.auth-panel__mobile-brand{display:none}.auth-card{gap:28px;width:min(100%,440px);display:grid}.auth-card h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3vw,2.35rem);font-weight:620}.auth-loading{min-height:120px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.86rem;display:flex}.privacy-note{color:var(--subtle);margin:-2px 0 0;font-size:.72rem;line-height:1.6}.unlock-page{height:100dvh;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:#06161b;place-items:center;display:grid;position:relative;overflow:hidden auto}.unlock-glow{aspect-ratio:1;filter:blur(100px);opacity:.12;pointer-events:none;border-radius:50%;width:38vw;min-width:280px;position:fixed}.unlock-glow--one{background:var(--warm);top:-15%;left:-8%}.unlock-glow--two{background:var(--accent);bottom:-20%;right:-8%}.unlock-card{border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b2026e0;border-radius:27px;padding:clamp(28px,6vw,48px);display:grid;position:relative}.unlock-card>svg{color:var(--accent);margin:0 auto 28px}.unlock-card h1{letter-spacing:-.035em;margin:0;font-size:1.85rem}.unlock-card .form-stack{margin-top:28px}.unlock-card>.button--secondary{margin-top:12px}.unlock-card>.text-button{margin:14px auto 0}.field--centered>span:first-child{text-align:left}.field--centered input{letter-spacing:.22em;text-align:center;font-size:1.15rem}.recovery-empty{color:var(--muted);background:#0000001a;border:1px dashed #84ddc63d;border-radius:16px;gap:8px;margin-top:28px;padding:22px;display:grid}.recovery-empty svg{color:var(--accent);margin:0 auto 6px}.recovery-empty strong{color:var(--ink)}.recovery-empty p{margin:0;font-size:.8rem;line-height:1.6}.chat-page,.settings-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(circle at 8% 12%,#f3a98514,#0000 24%),radial-gradient(circle at 92% 88%,#57c9ac14,#0000 28%),#041116;place-items:center;height:100dvh;padding:clamp(0px,2vw,24px);display:grid;overflow:hidden}.chat-page button,.settings-page button{touch-action:manipulation}.chat-shell,.settings-shell{border:1px solid var(--line);width:min(100%,980px);height:min(100%,920px);min-height:0;box-shadow:var(--shadow);background:#081a1ff7;border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.chat-shell{flex-direction:row;width:min(100%,1180px)}.chat-main{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.contact-sidebar{border-right:1px solid var(--line);background:#041116b8;flex-direction:column;flex:0 0 250px;min-width:0;padding:17px 13px;display:flex}.contact-sidebar__brand{align-items:center;gap:10px;padding:2px 5px 18px;display:flex}.contact-sidebar__brand>div{gap:3px;display:grid}.contact-sidebar__title{color:var(--subtle);letter-spacing:.04em;align-items:center;gap:6px;padding:22px 7px 9px;font-size:.67rem;font-weight:700;display:flex}.contact-list{align-content:start;gap:5px;display:grid;overflow-y:auto}.contact-list>button{min-width:0;color:var(--ink);text-align:left;background:0 0;border-radius:13px;grid-template-columns:38px 1fr;align-items:center;gap:9px;padding:8px;display:grid}.contact-list>button[aria-current=page]{background:#84ddc617}.contact-list>button>span:last-child{gap:3px;min-width:0;display:grid}.contact-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.contact-list>p{color:var(--subtle);margin:0;padding:14px 8px;font-size:.7rem;line-height:1.6}.chat-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081a1fe6;flex:none;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:10px 18px;display:grid}.chat-header__brand{color:var(--accent);letter-spacing:.18em;align-items:center;gap:10px;font-size:.68rem;font-weight:800;display:flex}.chat-header>.icon-button,.chat-header__actions{justify-self:end}.chat-header__actions{align-items:center;display:flex}.icon-button--danger{color:var(--danger)}.contact-summary{align-items:center;gap:10px;display:flex}.contact-summary>div:last-child{min-width:115px;display:grid}.contact-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.91rem;overflow:hidden}.contact-summary span{color:var(--subtle);align-items:center;gap:5px;margin-top:3px;font-size:.66rem;display:flex}.contact-summary i{background:#607174;border-radius:50%;width:6px;height:6px}.contact-summary i.online{background:var(--accent-strong);box-shadow:0 0 0 3px #57c9ac1a}.avatar{color:#ffcfb8;background:linear-gradient(145deg,#f3a98538,#f3a98514);border:1px solid #f3a98533;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-weight:720;display:grid}.connection-banner{color:#e3bd8b;background:#e8ab5d14;flex:none;justify-content:center;align-items:center;gap:6px;min-height:30px;font-size:.7rem;display:flex}.connection-banner svg{animation:1.8s linear infinite spin}.message-list{scroll-behavior:smooth;scrollbar-color:#84ddc62e transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background-color:#0000;background-image:linear-gradient(#84ddc605 1px,#0000 1px),linear-gradient(90deg,#84ddc605 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;flex:auto;min-height:0;padding:28px clamp(16px,5vw,58px);display:flex;overflow:hidden auto}.encryption-notice{color:var(--subtle);background:#ffffff06;border-radius:999px;align-self:center;align-items:center;gap:6px;margin-bottom:30px;padding:7px 10px;font-size:.65rem;display:flex}.older-button{border:1px solid var(--line);color:var(--muted);background:#ffffff06;border-radius:999px;align-self:center;margin:0 0 14px;padding:7px 11px;font-size:.68rem}.chat-loading,.chat-empty{text-align:center;flex:1;place-content:center;justify-items:center;min-height:320px;display:grid}.chat-loading{color:var(--muted);gap:12px;font-size:.8rem}.loader{border:2px solid #84ddc626;border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.9s linear infinite spin}.chat-empty>span{border:1px solid var(--line);width:58px;height:58px;color:var(--accent);background:#84ddc60d;border-radius:18px;place-items:center;margin-bottom:16px;display:grid}.chat-empty h2{margin:0;font-size:1.2rem}.chat-empty p{max-width:330px;color:var(--muted);margin:10px 0 0;font-size:.78rem;line-height:1.75}.chat-empty>.button{margin-top:18px}.modal-backdrop{z-index:1100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#01080bc2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--line);width:min(100%,480px);box-shadow:var(--shadow);background:#0b2026;border-radius:22px;gap:13px;padding:30px;display:grid;position:relative}.modal-card h2,.modal-card p{margin:0}.modal-card h2{font-size:1.15rem}.modal-card p{color:var(--muted);font-size:.78rem;line-height:1.7}.modal-close{width:36px;height:36px;color:var(--muted);background:#ffffff0a;border-radius:11px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.modal-icon{width:46px;height:46px;color:var(--accent);background:#84ddc614;border-radius:14px;place-items:center;display:grid}.invite-link{border:1px solid var(--line);width:100%;min-height:46px;color:var(--muted);background:#0000002e;border-radius:12px;padding:0 13px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem}.modal-actions{grid-template-columns:1fr auto;gap:9px;display:grid}.modal-card--media{width:min(100%,680px);max-height:min(780px,100dvh - 40px);overflow-y:auto}.image-preview{border:1px solid var(--line);background:#0000002e;border-radius:16px;gap:8px;padding:10px;display:grid}.image-preview img{object-fit:contain;border-radius:11px;width:100%;max-height:440px}.image-preview small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.media-empty{min-height:130px;color:var(--subtle);justify-content:center;align-items:center;gap:10px;font-size:.76rem;display:flex}.media-list{gap:6px;display:grid}.media-list>button{min-width:0;color:var(--ink);text-align:left;background:#ffffff09;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:12px;display:grid}.media-list>button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.media-list>button>small{color:var(--subtle)}.message-row{width:100%;margin:3px 0;display:flex}.message-row--outgoing{justify-content:flex-end}.message-bubble{background:var(--surface-strong);border:1px solid #0000;border-radius:7px 18px 18px;max-width:min(74%,580px);padding:10px 13px 7px;position:relative;box-shadow:0 6px 22px #00000014}.message-row--outgoing .message-bubble{color:#08221c;background:var(--accent);border-radius:18px 7px 18px 18px}.message-bubble[data-error=true]{border-color:#ff8f854d}.message-bubble__body{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.62}.message-meta{color:#a1bbbbad;justify-content:flex-end;align-items:center;gap:3px;min-width:54px;margin:3px 0 0 14px;font-size:.59rem;display:flex}.message-error{color:var(--danger);margin-top:5px;font-size:.62rem;display:block}.attachment{width:min(330px,62vw);color:inherit;text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 2px;display:grid}.attachment__icon{width:39px;height:39px;color:var(--accent);background:#84ddc614;border-radius:12px;place-items:center;display:grid}.attachment__copy{gap:3px;min-width:0;display:grid}.attachment__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.attachment__copy small{color:inherit;opacity:.6;font-size:.62rem}.chat-footer{padding:10px clamp(12px, 3vw, 28px) max(9px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#081a1ff5;flex:none}.composer{border:1px solid var(--line);background:#00000026;border-radius:18px;align-items:flex-end;gap:7px;width:100%;padding:6px;display:flex}.composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-width:0;max-height:132px;padding:10px 5px 8px;font-size:.9rem;line-height:1.45;overflow-y:auto}.composer .icon-button{width:39px;height:39px}.send-button{color:#062018;background:var(--accent);border-radius:13px;flex:none;place-items:center;width:39px;height:39px;display:grid}.privacy-caption{color:#536a6c;justify-content:center;align-items:center;gap:4px;margin:7px 0 0;font-size:.58rem;display:flex}.settings-header{min-height:70px;padding:max(8px, env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--line);flex:none;grid-template-columns:42px 1fr 42px;align-items:center;display:grid}.settings-header h1{text-align:center;margin:0;font-size:1rem}.settings-scroll{min-height:0;padding:24px clamp(16px, 5vw, 60px) max(36px, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:auto;overflow-y:auto}.profile-card{border:1px solid var(--line);background:linear-gradient(120deg,#84ddc612,#f3a9850a);border-radius:18px;align-items:center;gap:15px;padding:20px;display:flex}.avatar--large{border-radius:17px;width:52px;height:52px;font-size:1.15rem}.profile-card h2{margin:0;font-size:1.1rem}.profile-card p{color:var(--accent);align-items:center;gap:5px;margin:5px 0 0;font-size:.7rem;display:flex}.settings-group{margin-top:28px}.settings-group>h2{color:var(--subtle);letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px 5px;font-size:.68rem;font-weight:700}.settings-row{border-bottom:1px solid var(--line);width:100%;min-height:68px;color:var(--ink);text-align:left;background:#ffffff06;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 15px;display:grid}.settings-row:first-of-type{border-radius:16px 16px 0 0}.settings-row:last-child{border-bottom:0;border-radius:0 0 16px 16px}.settings-row:only-of-type{border-radius:16px}.settings-row__icon{width:36px;height:36px;color:var(--accent);background:#84ddc612;border-radius:11px;place-items:center;display:grid}.settings-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.settings-row strong{font-size:.82rem}.settings-row small{color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.settings-row>span:last-child{color:var(--subtle);font-size:1.3rem}.settings-row--danger,.settings-row--danger .settings-row__icon{color:var(--danger)}.settings-row--danger .settings-row__icon{background:#ff8f8512}.fingerprint{letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.install-card{border:1px solid var(--line);color:var(--accent);background:#84ddc609;border-radius:16px;align-items:flex-start;gap:13px;padding:18px;display:flex}.install-card p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.65}.install-card strong{color:var(--ink)}.version-copy{color:#455b5e;text-align:center;margin:30px 0 0;font-size:.63rem}.toast-host{z-index:1000;top:max(16px, env(safe-area-inset-top));pointer-events:none;gap:8px;width:min(360px,100vw - 32px);display:grid;position:fixed;right:16px}.toast{border:1px solid var(--line);color:var(--ink);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e272df5;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:12px 13px;font-size:.76rem;display:grid;box-shadow:0 10px 30px #00000047}.toast[data-tone=success]>svg{color:var(--accent)}.toast[data-tone=error]>svg{color:var(--danger)}.toast button{width:28px;height:28px;color:var(--subtle);background:0 0;place-items:center;display:grid}.update-card{z-index:900;right:18px;bottom:max(18px, env(safe-area-inset-bottom));border:1px solid var(--line);width:min(440px,100vw - 36px);box-shadow:var(--shadow);background:#0e272dfa;border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid;position:fixed}.update-card strong{font-size:.8rem}.update-card p{color:var(--muted);margin:3px 0 0;font-size:.68rem}.toast-enter-active,.toast-leave-active,.slide-up-enter-active,.slide-up-leave-active{transition:opacity .18s,transform .18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(14px)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(14px)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=820px){.auth-page{min-height:100dvh;display:block;overflow-y:auto}.auth-story{display:none}.auth-panel{min-height:100dvh;padding:max(26px, env(safe-area-inset-top)) 22px max(32px, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;display:flex}.auth-panel__mobile-brand{align-self:flex-start;margin-bottom:clamp(36px,9vh,76px);display:flex}.chat-page,.settings-page{padding:0}.chat-shell,.settings-shell{width:100%;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0}.chat-shell--admin{flex-direction:column}.contact-sidebar{width:100%;padding:max(8px, env(safe-area-inset-top)) 10px 8px;border-right:0;border-bottom:1px solid var(--line);flex:none}.contact-sidebar__brand,.contact-sidebar__title{display:none}.invite-button{align-self:flex-start;min-height:36px;padding:0 13px}.contact-list{margin-top:7px;display:flex;overflow:auto hidden}.contact-list>button{flex:0 0 150px}.contact-list>p{padding:8px}.chat-header{min-height:calc(62px + env(safe-area-inset-top));padding:max(8px, env(safe-area-inset-top)) 12px 8px}.chat-header__brand,.chat-header>.icon-button,.chat-header__actions{align-self:end}.message-list{padding:22px 13px}.message-bubble{max-width:84%}}@media (width<=480px){.form-grid{grid-template-columns:1fr}.desktop-only{display:none}.chat-header{grid-template-columns:minmax(0,42px) 1fr auto}.contact-summary{justify-self:center;min-width:0}.contact-summary>div:last-child{min-width:0;max-width:150px}.attachment{width:68vw}.modal-card{padding:25px 20px 20px}.modal-actions{grid-template-columns:1fr}.update-card{grid-template-columns:1fr auto}.update-card .text-button{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.chat-page,.settings-page{--ink:#191919;--muted:#666;--subtle:#8a8a8a;--bg:#f3f5f7;--bg-deep:#edf0f2;--surface:#fff;--surface-strong:#fff;--line:#00000017;--accent:#07c160;--accent-strong:#06ad56;--danger:#fa5151;--shadow:0 18px 60px #00000024;height:var(--app-height,100dvh);color:var(--ink);background:var(--bg-deep)}body{background:#f7f7f7}.chat-shell,.settings-shell{background:var(--bg);box-shadow:var(--shadow);border-color:#00000014;border-radius:12px}.contact-sidebar{border-color:var(--line);background:#fff;flex-basis:286px;padding:18px 12px}.contact-sidebar__brand{padding:2px 8px 20px}.contact-sidebar__brand strong{color:#1f1f1f;letter-spacing:0;font-size:.9rem}.contact-sidebar__brand small,.contact-list small{color:#999;font-size:.7rem}.chat-page .button--primary,.chat-page .button--compact{color:#fff;box-shadow:none;background:#07c160}.chat-page .button--primary:not(:disabled):hover,.chat-page .button--compact:not(:disabled):hover{background:#06ad56}.invite-button{border-radius:7px;min-height:44px;font-size:.8rem}.contact-sidebar__title{color:#999;padding:24px 10px 10px;font-size:.7rem}.contact-list{gap:3px}.contact-list>button{color:#191919;border-radius:7px;grid-template-columns:42px minmax(0,1fr);gap:11px;min-height:58px;padding:8px 10px}.contact-list>button:hover,.contact-list>button[aria-current=page]{background:#e9e9e9}.contact-list strong{font-size:.88rem;font-weight:550}.avatar{color:#fff;background:#576b95;border:0;border-radius:6px;width:42px;height:42px;font-size:.9rem;font-weight:600}.chat-header{border-color:var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);background:#fffffff0;min-height:64px;padding:8px 16px}.chat-header__brand{color:#07c160}.contact-summary{text-align:center;justify-self:center}.contact-summary>div:last-child{min-width:0}.contact-summary strong{color:#191919;font-size:1rem;font-weight:550}.contact-summary span{color:#8a8a8a;justify-content:center;font-size:.67rem}.contact-summary i{background:#b2b2b2}.contact-summary i.online{box-shadow:none;background:#07c160}.chat-more-button{color:#252525;justify-self:end}.chat-page .icon-button:not(:disabled):hover{color:#111;background:#0000000d}.connection-banner{color:#8a6914;background:#fff7d9;min-height:32px}.message-list{background:var(--bg);scrollbar-color:#0000002e transparent;padding:26px clamp(18px,5vw,64px) 30px}.encryption-notice,.older-button{color:#999;background:#ffffff9e;border:0}.encryption-notice{margin-bottom:22px}.chat-empty>span{color:#07c160;background:#07c1601a;border:0;border-radius:50%}.chat-empty h2{color:#333;font-weight:550}.chat-empty p,.chat-loading{color:#888}.chat-page .loader,.modal-card .loader{border-color:#07c160 #07c1602e #07c1602e}.message-row{align-items:flex-start;gap:10px;margin:6px 0}.message-row--outgoing{flex-direction:row-reverse;justify-content:flex-start}.message-avatar{border-radius:5px;width:40px;height:40px;font-size:.82rem}.message-row--outgoing .message-avatar{background:#07c160}.message-bubble{color:#191919;max-width:min(70%,560px);box-shadow:none;background:#fff;border:1px solid #00000009;border-radius:5px;padding:10px 12px 7px}.message-bubble:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:8px solid #fff;width:0;height:0;position:absolute;top:13px;left:-7px}.message-row--outgoing .message-bubble{color:#191919;background:#95ec69}.message-row--outgoing .message-bubble:before{border-left:8px solid #95ec69;border-right:0;left:auto;right:-7px}.message-bubble--image{border:0;padding:0;overflow:visible;background:0 0!important}.message-bubble--image:before{display:none}.message-bubble__body{font-size:.96rem;line-height:1.55}.message-meta{color:#00000061;font-size:.61rem}.message-row--outgoing .message-meta{color:#0000006b}.message-recall{color:#576b95;background:0 0;padding:3px 2px;font-size:.68rem}.message-bubble--recalled{color:#888;background:#ffffff9e!important}.message-bubble--recalled:before{border-right-color:#ffffff9e}.message-row--outgoing .message-bubble--recalled:before{border-left-color:#ffffff9e;border-right:0}.message-recalled{color:#888;align-items:center;gap:6px;margin:0;font-size:.78rem;display:flex}.attachment{width:min(320px,58vw)}.attachment__icon{color:#07c160;background:#07c16017}.message-row--outgoing .attachment__icon{color:#16843f;background:#0000000f}.encrypted-image{color:#777;background:#d9d9d9;border-radius:6px;width:min(270px,56vw);min-height:148px;padding:0;display:grid;position:relative;overflow:hidden}.encrypted-image img{object-fit:contain;background:#d9d9d9;width:100%;max-height:360px;display:block}.encrypted-image__state{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:148px;padding:16px;display:flex}.encrypted-image__state small{font-size:.72rem}.encrypted-image__state--loading{color:#888;background:linear-gradient(110deg,#dedede 30%,#ececec 48%,#dedede 66%) 0 0/240% 100%;animation:1.5s linear infinite image-shimmer}.encrypted-image--gallery{aspect-ratio:1;border-radius:4px;width:100%;min-height:0}.encrypted-image--gallery img{object-fit:cover;height:100%;max-height:none}.encrypted-image--gallery .encrypted-image__state{min-height:0}.encrypted-image__label{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#0000009e);align-items:center;gap:5px;padding:18px 8px 7px;font-size:.67rem;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.voice-message{width:min(250px,54vw);min-width:170px}.voice-message__player{width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:24px minmax(90px,1fr) auto;align-items:center;gap:8px;padding:2px 0;display:grid}.voice-message__control{color:#07c160;place-items:center;width:24px;height:24px;display:grid}.message-row--outgoing .voice-message__control{color:#16843f}.voice-message__player>small{color:#777;font-variant-numeric:tabular-nums;font-size:.68rem}.voice-message__wave{justify-content:space-between;align-items:center;gap:3px;height:26px;display:flex;position:relative;overflow:hidden}.voice-message__wave i{opacity:.38;background:currentColor;border-radius:999px;width:2px;height:8px}.voice-message__wave i:nth-child(3n+1){height:14px}.voice-message__wave i:nth-child(4n+2){height:20px}.voice-message__player--playing .voice-message__wave i{animation:.8s ease-in-out infinite alternate voice-wave}.voice-message__player--playing .voice-message__wave i:nth-child(3n+2){animation-delay:-300ms}.voice-message__player--playing .voice-message__wave i:nth-child(4n+1){animation-delay:-550ms}.chat-footer{padding:9px clamp(10px, 2vw, 20px) max(9px, env(safe-area-inset-bottom));border-color:var(--line);background:#fff}.composer{background:0 0;border:0;border-radius:0;align-items:flex-end;padding:0}.composer textarea{color:#191919;background:#fff;border:1px solid #00000014;border-radius:6px;min-height:44px;max-height:120px;padding:11px 12px 9px;font-size:1rem}.composer textarea::placeholder{color:#aaa}.composer .icon-button{color:#333;border-radius:50%;width:44px;height:44px}.send-button{color:#fff;background:#07c160;border-radius:6px;width:52px;height:44px}.send-button:disabled{color:#aaa;background:#e3e3e3}.voice-start{color:#07c160!important}.voice-cancel,.voice-finish{border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.voice-cancel{color:#666;background:#e7e7e7}.voice-finish{color:#fff;background:#fa5151}.voice-recording{color:#555;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;font-size:.78rem;display:flex}.voice-recording i{background:#fa5151;border-radius:50%;flex:none;width:9px;height:9px;animation:1s ease-in-out infinite voice-pulse}.voice-recording strong{font-variant-numeric:tabular-nums}.modal-backdrop{padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000075}.modal-card{color:#191919;background:#fff;border:0;border-radius:12px;max-height:calc(100dvh - 36px);overflow-y:auto;box-shadow:0 18px 70px #0000003d}.modal-card p{color:#777}.modal-close{color:#666;background:#f2f2f2}.modal-icon{color:#07c160;background:#07c1601a}.modal-icon--danger{color:#fa5151;background:#fa515117}.modal-card .field>span:first-child{color:#555}.modal-card .field input,.invite-link{color:#333;background:#f7f7f7;border-color:#0000001f}.modal-card .button--primary{color:#fff;box-shadow:none;background:#07c160}.modal-card .button--secondary{color:#333;background:#f5f5f5;border-color:#0000001a}.button--danger{color:#fff;background:#fa5151}.clear-device-warning{background:#fa515114;border-radius:8px;padding:12px;color:#b12424!important}.modal-card--actions{gap:0;width:min(100%,440px);padding:20px}.action-sheet__heading{align-items:center;gap:12px;padding:2px 2px 16px;display:flex}.action-sheet__heading>div{gap:3px;display:grid}.action-sheet__heading small,.action-row small{color:#999;font-size:.7rem}.action-row{color:#333;text-align:left;background:0 0;border-top:1px solid #00000012;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:62px;padding:10px 8px;display:grid}.action-row>span{gap:3px;display:grid}.action-row strong{font-size:.88rem;font-weight:550}.action-row--danger{color:#fa5151}.action-sheet__cancel{width:100%;margin-top:12px}.modal-card--media{width:min(100%,720px)}.modal-card--member-details{align-content:start;gap:18px;width:min(100%,880px);max-height:calc(100dvh - 36px)}.member-details__notice{padding-right:36px}.member-details__loading{color:#777;justify-content:center;align-items:center;gap:10px;min-height:180px;font-size:.82rem;display:flex}.member-details__section{gap:10px;display:grid}.member-details__section h3{color:#777;margin:0;font-size:.76rem;font-weight:600}.member-details__empty{background:#f6f6f6;border-radius:8px;padding:16px}.details-grid{border:1px solid #00000012;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.details-grid>div{border-bottom:1px solid #0000000f;min-width:0;padding:10px 12px}.details-grid>div:nth-child(odd):not(.details-grid__wide){border-right:1px solid #0000000f}.details-grid__wide{grid-column:1/-1}.details-grid dt{color:#999;margin-bottom:4px;font-size:.66rem}.details-grid dd{overflow-wrap:anywhere;color:#333;margin:0;font-size:.78rem;line-height:1.45}.details-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem!important}.device-card{background:#fafafa;border:1px solid #00000014;border-radius:10px;gap:10px;padding:13px;display:grid}.device-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.device-card>header>div{gap:3px;display:grid}.device-card>header strong{font-size:.88rem}.device-card>header small,.device-card>header>span{color:#888;font-size:.68rem}.device-card>header>span{background:#eee;border-radius:999px;flex:none;padding:4px 7px}.access-list{border:1px solid #00000012;border-radius:8px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.access-list li{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.access-list li:last-child{border-bottom:0}.access-list li>div{gap:3px;min-width:0;display:grid}.access-list strong{font-size:.78rem;font-weight:550}.access-list small,.access-list span{color:#888;font-size:.68rem}.access-list__agent{overflow-wrap:anywhere;line-height:1.45}.access-list span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:6px;display:grid}.image-viewer{z-index:1300;padding:max(56px, env(safe-area-inset-top)) 12px max(42px, env(safe-area-inset-bottom));background:#000000f5;place-items:center;display:grid;position:fixed;inset:0}.image-viewer>button{top:max(14px, env(safe-area-inset-top));color:#fff;background:#ffffff1f;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;right:14px}.image-viewer img{object-fit:contain;max-width:100%;max-height:100%}.image-viewer small{bottom:max(14px, env(safe-area-inset-bottom));color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 40px);font-size:.72rem;position:absolute;overflow:hidden}.settings-page{background:#ededed}.settings-shell{background:#f5f5f5}.settings-header{border-color:var(--line);background:#fafafaf0}.profile-card{background:#fff;border:0}.settings-row{border-color:var(--line);color:#191919;background:#fff}.settings-row:not(.settings-row--static):hover{background:#f8f8f8}.settings-row__icon{color:#07c160;background:#07c16017}.install-card{color:#07c160;background:#07c1600f;border-color:#07c16029}@keyframes image-shimmer{to{background-position:-240% 0}}@keyframes voice-pulse{50%{opacity:.35;transform:scale(.78)}}@keyframes voice-wave{to{opacity:.85;transform:scaleY(.55)}}@media (width<=820px){.chat-page,.settings-page{height:var(--app-height,100dvh);width:100%;height:auto;min-height:0;position:fixed;inset:0}.chat-keyboard-open .chat-page{top:var(--app-offset-top,0px);height:var(--app-height);bottom:auto}.chat-shell,.settings-shell{border-radius:0;height:100%}.chat-shell--admin .contact-sidebar{width:100%;min-height:calc(52px + env(safe-area-inset-top));padding:max(7px, env(safe-area-inset-top)) 8px 7px;border-right:0;border-bottom:1px solid var(--line);background:#fffffff5;flex-direction:row;flex:none;align-items:center;gap:6px;display:flex;overflow:hidden}.contact-sidebar__brand,.contact-sidebar__title{display:none}.invite-button{border-radius:8px;align-self:center;gap:0;width:38px;min-width:38px;min-height:38px;padding:0;font-size:0}.contact-list{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;gap:6px;min-width:0;min-height:38px;margin:0;padding:0 1px;display:flex;overflow:auto hidden}.contact-list::-webkit-scrollbar{display:none}.contact-list>button{background:#f4f5f6;border:1px solid #0000;border-radius:9px;flex:none;grid-template-columns:28px auto;gap:6px;width:auto;min-height:38px;padding:4px 10px 4px 5px}.contact-list>button[aria-current=page]{background:#e9f8ef;border-color:#07c1602e}.contact-list .avatar{background:#07c160;border-radius:7px;width:28px;height:28px;font-size:.68rem}.contact-list strong{max-width:92px;font-size:.8rem}.contact-list small{display:none}.chat-header{min-height:calc(58px + env(safe-area-inset-top));padding:max(7px, env(safe-area-inset-top)) 8px 7px;grid-template-columns:44px minmax(0,1fr) 44px}.chat-shell--admin .chat-header{min-height:52px;padding:5px 8px}.chat-header__brand{align-self:center}.message-list{padding:20px 12px 24px}.message-row{gap:8px}.message-avatar{width:36px;height:36px;font-size:.74rem}.message-bubble{max-width:calc(100% - 54px)}.attachment{width:min(270px,67vw)}.encrypted-image{width:min(250px,67vw)}.voice-message{width:min(230px,62vw);min-width:160px}.voice-recording span{display:none}.chat-footer{padding:8px 7px max(10px, env(safe-area-inset-bottom));background:#fff;box-shadow:0 -1px #0000000a}.composer{gap:3px}.composer .icon-button{width:40px}.send-button{width:48px}.modal-backdrop--sheet{align-items:end;padding:0}.modal-card--actions{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 16px);padding:18px 14px max(14px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.modal-card--media,.modal-card--member-details{max-height:calc(100dvh - 30px)}.details-grid{grid-template-columns:minmax(0,1fr)}.details-grid__wide{grid-column:auto}.details-grid>div:nth-child(odd):not(.details-grid__wide){border-right:0}}@media (width<=480px){.contact-summary strong{text-overflow:ellipsis;white-space:nowrap;max-width:48vw;display:block;overflow:hidden}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-card:not(.modal-card--actions){padding:26px 20px 20px}}@media (height<=520px) and (orientation:landscape){.chat-shell--admin .contact-sidebar{padding-top:5px;padding-bottom:5px}.chat-header,.chat-shell--admin .chat-header{min-height:50px;padding-top:4px;padding-bottom:4px}.message-list{padding-top:12px;padding-bottom:14px}}
