:root{color:#eef3ff;font-synthesis:none;text-rendering:optimizelegibility;--bg:#070b13;--panel:#0c1220;--panel-2:#111a2b;--panel-3:#162137;--line:#98aeda21;--muted:#8996af;--text:#eef3ff;--accent:#6d7cff;--accent-2:#7c5cff;--green:#54d6a1;--danger:#ff637d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#070b13;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;min-height:0;margin:0;overflow:hidden}#root{height:100dvh;max-height:100dvh}body{background:var(--bg)}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #8da4ff}.eyebrow{color:#829aff;letter-spacing:.19em;margin:0 0 10px;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.centered{text-align:center}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#617dff,#775cff);border:0;border-radius:13px;min-height:50px;padding:0 22px;font-weight:800;transition:transform .18s,filter .18s;box-shadow:0 12px 35px #505cff47}.primary-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.6}.primary-button.compact{min-height:42px;padding-inline:18px}.text-button{color:#9ba9c7;cursor:pointer;background:0 0;border:0;padding:10px}.icon-button{color:#a4b0c8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.icon-button svg{width:19px;height:19px}.icon-button:hover{color:#fff;background:#8296c81a}.icon-button.accent{color:#aab7ff;background:linear-gradient(135deg,#607fff3d,#7c5cff40);border-color:#7784ff40}.auth-page{background:radial-gradient(circle at 12% 15%,#455fbe38,#0000 35%),radial-gradient(circle at 88% 88%,#6d39b52e,#0000 32%),#070b13;grid-template-columns:minmax(330px,1fr) minmax(390px,500px);place-items:center;gap:clamp(40px,8vw,130px);min-height:100%;padding:clamp(32px,7vw,100px);display:grid;overflow:auto}.auth-intro{justify-self:end;max-width:650px}.brand-mark{background:linear-gradient(145deg,#6d91ff,#795cff);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:28px;display:flex;box-shadow:0 20px 55px #535ce857}.brand-mark svg{width:32px;height:32px}.auth-intro h1{letter-spacing:-.065em;margin:0 0 28px;font-size:clamp(2.7rem,5.4vw,5.5rem);line-height:.98}.auth-lead{color:#a5b0c6;max-width:620px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}.trust-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.trust-row span{border:1px solid var(--line);color:#bec9de;background:#121c30cc;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:.83rem;display:flex}.trust-row svg{color:var(--green)}.auth-card,.unlock-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(150deg,#121b2ef0,#0a101cf5);border:1px solid #8ca3d52b;border-radius:25px;width:100%;padding:clamp(24px,4vw,40px);box-shadow:0 35px 100px #0006}.auth-tabs{background:#0509109e;border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:32px;padding:4px;display:grid}.auth-tabs button,.segmented button{color:#8491aa;cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:40px}.auth-tabs button.active,.segmented button.active{color:#fff;background:#18233a;box-shadow:0 5px 18px #00000040}.auth-card-head h2{letter-spacing:-.035em;margin:0 0 7px;font-size:1.72rem}.auth-card-head p{color:var(--muted);margin:0 0 26px;font-size:.88rem;line-height:1.55}.auth-card form,.unlock-card form{gap:17px;display:grid}label{gap:8px;display:grid}label>span{color:#aab5ca;font-size:.78rem;font-weight:700}input,textarea{color:#f5f7ff;background:#070c15b8;border:1px solid #8da1c82e;border-radius:12px;min-height:47px;padding:0 14px;transition:border-color .18s,box-shadow .18s}input::placeholder,textarea::placeholder{color:#59647a}input:focus,textarea:focus{border-color:#748bffbf;outline:none;box-shadow:0 0 0 3px #5c6fff1f}.input-prefix{background:#070c15b8;border:1px solid #8da1c82e;border-radius:12px;align-items:center;padding-left:14px;display:flex}.input-prefix b{color:#63718d}.input-prefix input{box-shadow:none;background:0 0;border:0;flex:1;padding-left:5px}.form-error,.inline-error{color:#ff9daf;background:#ff50701c;border:1px solid #ff5d7a3d;border-radius:10px;padding:10px 12px;font-size:.82rem;line-height:1.45}.auth-note{color:#657189;text-align:center;margin:20px 4px 0;font-size:.72rem;line-height:1.6}.unlock-page{background:radial-gradient(circle at 50% 20%, #4f5fda33, transparent 35%), var(--bg);place-items:center;min-height:100%;padding:25px;display:grid;overflow:auto}.unlock-card{text-align:center;max-width:460px}.unlock-card>p:not(.eyebrow){color:var(--muted);font-size:.88rem;line-height:1.6}.unlock-card h1{letter-spacing:-.04em;margin:5px 0 10px}.unlock-card label{text-align:left}.unlock-icon{background:linear-gradient(145deg,#637eff47,#7b57ff38);border:1px solid #808eff40;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 23px;display:flex}.unlock-icon svg{color:#aab7ff;width:30px;height:30px}.app-loading{background:radial-gradient(circle,#131c31,#070b13 52%);flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.app-loading b{font-size:1.3rem}.app-loading small{color:var(--muted)}.loader{border:3px solid #7d91c82e;border-top-color:#758cff;border-radius:50%;width:38px;height:38px;margin-bottom:12px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.messenger-shell{background:var(--panel);grid-template-columns:350px minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:linear-gradient(#0b111e,#090e19);grid-template-rows:auto auto auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.sidebar-head{justify-content:space-between;align-items:center;padding:20px 20px 15px;display:flex}.compact-brand{align-items:center;gap:11px;display:flex}.compact-brand>span{background:linear-gradient(145deg,#718dff,#755cff);border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:800;display:flex}.compact-brand b{letter-spacing:-.02em;font-size:.95rem}.search-box{background:#111a2a;border:1px solid #879ac01c;border-radius:12px;align-items:center;gap:9px;margin:0 16px 17px;padding:0 12px;display:flex}.search-box svg{color:#66738c;flex:none}.search-box input{box-shadow:none;background:0 0;border:0;width:100%;min-height:43px;padding:0}.sidebar-label{color:#6f7b92;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 20px 10px;font-size:.68rem;font-weight:800;display:flex}.sidebar-label small{background:#172138;border-radius:7px;padding:3px 6px;font-size:.62rem}.chat-list{min-height:0;padding:0 9px 12px;overflow:auto}.chat-row{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:72px;padding:10px 11px;display:grid}.chat-row:hover{background:#7b91c50f}.chat-row.selected{background:linear-gradient(100deg,#4f69d233,#6d4ccb1f);box-shadow:inset 3px 0 #7086ff}.avatar{background:#526582;border:1px solid #ffffff14;border-radius:50%;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:.9rem;font-weight:800;display:inline-flex}.avatar svg{width:19px;height:19px}.avatar.small{width:36px;height:36px;font-size:.75rem}.chat-row-copy{gap:5px;min-width:0;display:grid}.chat-row-copy small{color:#738098;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.chat-row-title{align-items:center;gap:6px;min-width:0;display:flex}.chat-row-title b{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.chat-row-title svg{color:var(--green);flex:none}.chat-row time{color:#5f6b80;font-size:.62rem}.chat-row-meta{flex-direction:column;align-self:stretch;align-items:end;gap:9px;padding-top:4px;display:flex}.unread-badge{color:#fff;background:linear-gradient(145deg,#7087ff,#745cff);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding-inline:6px;font-size:.62rem;display:flex;box-shadow:0 5px 16px #5c6aff52}.empty-list{color:#6d7890;text-align:center;flex-direction:column;align-items:center;gap:7px;padding:45px 24px;display:flex}.empty-list svg{color:#53617d;width:28px;height:28px}.empty-list b{color:#9ba6bc;font-size:.83rem}.empty-list span{font-size:.72rem;line-height:1.55}.sidebar-user{border-top:1px solid var(--line);padding:14px 16px calc(14px + env(safe-area-inset-bottom));grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.sidebar-user>span:nth-child(2){gap:3px;min-width:0;display:grid}.sidebar-user b{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.sidebar-user small{color:#69758d;align-items:center;gap:5px;font-size:.65rem;display:flex}.sidebar-user i{border-radius:50%;width:6px;height:6px}.sidebar-user i.online{background:var(--green);box-shadow:0 0 9px var(--green)}.sidebar-user i.offline{background:#7a8498}.chat-empty{text-align:center;background:radial-gradient(circle at 50% 45%,#26355b47,#0000 34%),#0c1220;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-lock{background:linear-gradient(145deg,#647fff24,#7c5cff1c);border:1px solid #788cff2b;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;display:flex}.empty-lock svg{color:#8498ff;width:31px;height:31px}.chat-empty h2{letter-spacing:-.035em;margin:19px 0 7px}.chat-empty p{color:var(--muted);font-size:.83rem}.chat-empty>span{color:var(--green);text-transform:uppercase;align-items:center;gap:6px;margin-top:12px;font-size:.68rem;display:flex}.chat-empty>span svg{height:14px}.chat-panel{background:radial-gradient(circle at 70% 0,#474b8d17,#0000 27%),#0c1220;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"header""error""content""composer";min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.chat-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:2;background:#0b111ed1;grid-area:header;align-items:center;gap:12px;min-height:72px;padding:10px 22px;display:flex}.chat-header-copy{flex:1;gap:4px;min-width:0;display:grid}.chat-header-copy b{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.chat-header-copy small{color:#748097;align-items:center;gap:5px;font-size:.65rem;display:flex}.chat-header-copy svg{color:var(--green);width:13px;height:13px}.header-actions{gap:5px;display:flex}.mobile-back{display:none}.inline-error{text-align:center;border-width:0 0 1px;border-radius:0;grid-area:error}.message-list{overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;touch-action:pan-y;flex-direction:column;grid-area:content;gap:8px;min-height:0;padding:22px max(25px,7vw);display:flex;overflow:hidden auto}.message-list:focus-visible{outline-offset:-2px;outline:2px solid #6d7cff8c}.encryption-banner{color:#7bc6aa;background:#337e641a;border:1px solid #49c29426;border-radius:999px;align-self:center;align-items:center;gap:6px;margin-bottom:14px;padding:7px 11px;font-size:.65rem;display:flex}.encryption-banner svg{width:13px;height:13px}.message{background:#182237;border:1px solid #97abd314;border-radius:5px 16px 16px;align-self:flex-start;max-width:min(680px,72%);padding:10px 13px 7px;font-size:.84rem;line-height:1.55;box-shadow:0 6px 18px #0000001f}.message.own{background:linear-gradient(140deg,#334e99,#443d8e);border-radius:16px 5px 16px 16px;align-self:flex-end}.message time{color:#d4def58c;float:right;align-items:center;gap:3px;margin:5px 0 0 11px;font-size:.56rem;display:flex}.message-author{color:#8fa3ff;margin-bottom:2px;font-size:.65rem;font-weight:800;display:block}.invalid-message{color:#ff9daf;align-items:center;gap:7px;display:flex}.invalid-message svg{width:16px;height:16px}.file-message{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:260px;padding:3px;display:grid}.file-message>span:first-child{background:#ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.file-message>span:nth-child(2){min-width:0;display:grid}.file-message b{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.file-message small{color:#dee6f699;font-size:.62rem}.file-message>svg{width:17px;height:17px}.composer{border-top:1px solid var(--line);padding:12px max(16px, 4vw) calc(12px + env(safe-area-inset-bottom));background:#0a101cf0;grid-area:composer;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.composer textarea{resize:none;min-height:43px;max-height:130px;padding:11px 14px}.send-button{cursor:pointer;background:linear-gradient(145deg,#6f84ff,#745cff);border:0;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.send-button:disabled{filter:grayscale();opacity:.35}.send-button svg{width:18px;height:18px}.missing-key{text-align:center;flex-direction:column;grid-area:content;place-self:center;align-items:center;max-width:430px;max-height:100%;padding:35px;display:flex;overflow-y:auto}.missing-key>svg{color:#8195ff;width:42px;height:42px}.missing-key h3{margin:15px 0 6px}.missing-key p{color:var(--muted);font-size:.78rem;line-height:1.65}.key-recovery{background:#ffb74d12;border:1px solid #ffb74d2e;border-radius:13px;gap:7px;margin-top:22px;padding:14px;display:grid}.key-recovery b{color:#ffd18a;font-size:.76rem}.key-recovery span{color:#909bb0;font-size:.7rem;line-height:1.5}.key-recovery .text-button{color:#aebaff;font-size:.72rem;font-weight:800}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#02050ab3;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.modal-card{background:linear-gradient(155deg,#141e31,#0c1321);border:1px solid #91a4d22e;border-radius:22px;gap:17px;width:100%;max-width:580px;max-height:min(780px,94vh);padding:26px;display:grid;overflow:auto;box-shadow:0 35px 100px #0000008c}.modal-card>header{justify-content:space-between;align-items:start;display:flex}.modal-card h2{letter-spacing:-.035em;margin:0;font-size:1.3rem}.segmented{background:#090f1b;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.group-fields{gap:13px;display:grid}.switch-line{border:1px solid var(--line);background:#080e1880;border-radius:12px;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.switch-line>span{grid-template-columns:auto 1fr;align-items:center;gap:2px;display:grid}.switch-line svg{color:#8da0ff;grid-row:1/3;width:20px;height:20px;margin-right:7px}.switch-line small{color:#69758b;font-size:.62rem;font-weight:400}.switch-line input{accent-color:#7287ff;min-height:0}.modal-search{margin:0}.selected-users{flex-wrap:wrap;gap:6px;display:flex}.selected-users button{color:#bdc7ff;cursor:pointer;background:#687cf029;border:1px solid #7688fa33;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:.68rem;display:flex}.user-results{max-height:225px;display:grid;overflow:auto}.user-results>button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.user-results>button:hover,.user-results>button.active{background:#6f84de1a}.user-results>button>span:nth-child(2){gap:2px;display:grid}.user-results b{font-size:.78rem}.user-results small{color:#737f95;font-size:.65rem}.user-results>button>svg{color:var(--green);width:17px;height:17px}.modal-card>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:17px;display:flex}.modal-card>footer>span{color:#707d94;align-items:center;gap:6px;max-width:300px;font-size:.62rem;line-height:1.5;display:flex}.call-overlay{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:40;background:#02050bd1;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.call-stage{background:radial-gradient(circle at 50% 25%,#27385f,#101727 48%,#090e18);border:1px solid #8ea4d333;border-radius:28px;width:min(1000px,94vw);max-width:1000px;height:min(720px,90vh);position:relative;overflow:hidden;box-shadow:0 45px 120px #000}.remote-video{object-fit:cover;background:#080c13;width:100%;height:100%}.local-video{object-fit:cover;border:2px solid #ffffff2e;border-radius:16px;width:22%;height:23%;position:absolute;bottom:24px;right:24px;box-shadow:0 12px 40px #00000073}.call-copy{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)}.video-call .call-copy{background:#05091061;border-radius:20px;padding:17px 24px;top:20px;transform:translate(-50%)}.call-avatar{background:linear-gradient(145deg,#617dff,#805cff);border:4px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:115px;height:115px;font-size:2.5rem;font-weight:800;display:flex}.video-call .call-avatar{display:none}.call-copy h2{margin:18px 0 3px;font-size:1.8rem}.video-call .call-copy h2{margin:0;font-size:1rem}.call-copy p{color:#a3afc4;font-size:.8rem}.call-copy small{color:var(--green);align-items:center;gap:5px;font-size:.62rem;display:flex}.call-copy small svg{width:13px;height:13px}.call-actions{gap:18px;display:flex;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.call-button{cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;display:flex;box-shadow:0 12px 35px #00000059}.call-button.accept{background:#3ccf8e}.call-button.decline{background:#ff4d68}.call-button.control{background:#182237eb;border:1px solid #ffffff24}.call-button.control.disabled{color:#172038;background:#eef2ff}.call-button svg{width:25px;height:25px}.call-quality{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070c15b8;border:1px solid #ffffff21;border-radius:14px;grid-template-columns:auto auto;align-items:center;gap:2px 8px;padding:9px 12px;display:grid;position:absolute;top:20px;left:22px}.call-quality>svg{grid-row:1/3;width:20px;height:20px}.call-quality>span{font-size:.72rem;font-weight:800}.call-quality>small{color:#96a1b6;font-size:.59rem}.call-quality>.call-media-details{color:#c4cdef;grid-column:1/3;margin-top:3px}.call-quality.good>svg{color:var(--green)}.call-quality.fair>svg{color:#ffd166}.call-quality.poor>svg{color:var(--danger)}.call-quality.checking>svg{color:#8da0ff}@media (max-width:900px){.auth-page{grid-template-columns:1fr;gap:34px;padding:40px 24px}.auth-intro{text-align:center;justify-self:center}.auth-intro h1{font-size:clamp(2.6rem,10vw,4.2rem)}.brand-mark{margin-inline:auto}.trust-row{justify-content:center}.auth-card{max-width:500px}.messenger-shell{grid-template-columns:310px 1fr}}@media (max-width:680px){.messenger-shell{display:block;position:relative}.sidebar,.chat-panel,.chat-empty{width:100%;height:100%}.sidebar.mobile-hidden{display:none}.chat-panel:has(.mobile-back){display:grid}.chat-empty{display:none}.mobile-back{display:inline-flex}.chat-header{min-height:64px;padding:8px 9px}.chat-header .avatar{width:39px;height:39px}.chat-header-copy small{text-overflow:ellipsis;white-space:nowrap;max-width:185px;overflow:hidden}.header-actions{gap:0}.message-list{padding:18px 11px}.message{max-width:87%}.composer{padding-inline:8px}.modal-backdrop{align-items:end;padding:0}.modal-card{max-height:93vh;padding:21px 17px calc(18px + env(safe-area-inset-bottom));border-radius:23px 23px 0 0}.modal-card>footer{flex-direction:column;align-items:stretch}.call-stage{border-radius:0;width:100vw;height:100vh}.call-overlay{padding:0}.local-video{width:30%;height:25%;bottom:110px;right:14px}.call-quality{top:12px;left:12px}.call-actions{gap:10px;bottom:25px}.call-button{width:56px;height:56px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
