@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.app-layout{min-height:100vh;isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}.app-layout:before{z-index:-1;pointer-events:none;content:"";background-color:#0000;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#00000080,#0000 70%);mask-image:linear-gradient(#00000080,#0000 70%)}.app-navbar{z-index:100;min-height:var(--nav-height);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#050506c7;border-bottom:1px solid #ffffff14;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;width:min(1220px,100%);margin:0 auto;padding:.85rem 1.15rem;display:flex}.nav-brand{color:var(--text-primary);align-items:center;gap:.62rem;font-size:1.04rem;font-weight:800;display:inline-flex}.nav-brand svg{color:var(--accent-cyan);filter:drop-shadow(0 0 14px #16c7ff47)}.nav-links{align-items:center;gap:.7rem;display:flex}.nav-links .btn{min-height:40px;padding:.64rem .95rem}.nav-username{max-width:130px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;overflow:hidden}.main-content{flex-direction:column;flex:1;min-height:0;display:flex}.home-page{overflow:hidden}.home-hero{min-height:calc(100dvh - var(--nav-height) - 72px);padding:5.5rem max(1.2rem, env(safe-area-inset-left)) 4rem;border-bottom:1px solid #ffffff14;align-items:center;display:flex;position:relative}.home-hero-image{object-fit:cover;object-position:62% center;opacity:.56;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.home-hero-shade{background:linear-gradient(90deg, #050506fa, #050506c7 34%, #05050633 70%), linear-gradient(180deg, transparent 65%, var(--bg-dark));position:absolute;top:0;bottom:0;left:0;right:0}.home-hero-content{z-index:1;width:min(640px,100%);margin-left:max(0px,50vw - 610px);position:relative}.home-hero h1{font-size:4.6rem;font-weight:800;line-height:.98}.home-hero-lede{color:#dcefff;margin-top:1.1rem;font-size:1.6rem;font-weight:700}.home-hero-copy{width:min(560px,100%);color:var(--text-secondary);margin-top:1.05rem;font-size:1.05rem}.hero-ctas{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.hero-ctas .btn{min-width:142px}.home-section{width:min(1120px,100% - 2rem);margin:0 auto;padding:4.5rem 0}.feature-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.feature-card,.security-info,.auth-shell,.dashboard-hero-card{border:1px solid var(--border-color);border-radius:var(--card-radius);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff13,#ffffff09)}.feature-card{min-height:238px;padding:1.35rem}.feature-icon{border-radius:var(--card-radius);width:44px;height:44px;color:var(--accent-cyan);background:#0a84ff1a;border:1px solid #16c7ff47;justify-content:center;align-items:center;margin-bottom:1.15rem;display:inline-flex}.feature-card h2,.trust-copy h2,.dashboard-hero-card h1{font-size:1.45rem;line-height:1.15}.feature-card p,.trust-copy p,.dashboard-hero-card p{color:var(--text-secondary);margin-top:.72rem}.trust-section{grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);align-items:start;gap:1rem;display:grid}.trust-copy{padding:1.25rem 0}.security-info{padding:1.2rem}.security-info.compact{box-shadow:none}.security-info-heading{color:var(--accent-cyan);align-items:center;gap:.55rem;margin-bottom:.9rem;display:flex}.security-info-heading h3{color:var(--text-primary);font-size:1rem}.security-info ul{gap:.62rem;margin:0;padding:0;list-style:none;display:grid}.security-info li{color:var(--text-secondary);padding-left:1.05rem;font-size:.92rem;position:relative}.security-info li:before{border-radius:var(--radius-full);background:var(--accent-green);content:"";width:5px;height:5px;position:absolute;top:.58em;left:0}.auth-page{min-height:calc(100dvh - var(--nav-height));place-items:center;padding:2rem 1rem;display:grid}.auth-shell{width:min(448px,100%);animation:rise-in .42s var(--transition-normal);padding:1.35rem}.register-page .auth-shell{width:min(510px,100%)}.auth-brand-mark{border-radius:var(--card-radius);width:58px;height:58px;color:var(--accent-cyan);background:#0a84ff1f;border:1px solid #16c7ff5c;place-items:center;margin:0 auto 1.1rem;display:grid}.auth-brand-mark.green{color:var(--accent-green);background:#27e59a1a;border-color:#27e59a57}.auth-header{text-align:center;margin-bottom:1.25rem}.auth-header h1{font-size:2rem;line-height:1.08}.auth-header p{color:var(--text-secondary);margin-top:.55rem}.auth-form{gap:.92rem;display:grid}.auth-submit{width:100%;min-height:50px}.auth-footer{color:var(--text-secondary);text-align:center;margin-top:1.15rem;font-size:.92rem}.auth-footer a{color:var(--accent-cyan);font-weight:800}.remember-unlock{color:var(--text-secondary);align-items:center;gap:.55rem;font-size:.84rem;display:flex}.remember-unlock input{width:16px;height:16px;accent-color:var(--accent-primary)}.password-meter{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.password-meter span{border-radius:var(--radius-full);background:#ffffff1a;height:4px}.password-meter[data-score="1"] span:nth-child(-n+1),.password-meter[data-score="2"] span:nth-child(-n+2),.password-meter[data-score="3"] span{background:var(--accent-green)}.password-rules{color:var(--text-muted);gap:.25rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.password-rules li.passed{color:var(--accent-green)}.messenger-layout{width:min(1420px,100%);height:calc(100vh - var(--nav-height));height:calc(100dvh - var(--nav-height));border-inline-start:1px solid #ffffff0f;border-inline-end:1px solid #ffffff0f;min-height:0;margin:0 auto;display:flex;overflow:hidden}.messenger-sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060709b3;border-right:1px solid #ffffff14;flex-direction:column;width:376px;min-width:320px;display:flex}.sidebar-header{border-bottom:1px solid #ffffff14;gap:.95rem;padding:1.1rem;display:grid}.sidebar-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sidebar-title h2{font-size:1.8rem;line-height:1}.sidebar-subtitle,.list-section-title{color:var(--text-muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.sidebar-tools{gap:.35rem;display:flex}.sidebar-tools .btn{color:var(--text-secondary);background:0 0;border-color:#0000}.sidebar-tools .btn:hover:not(:disabled),.active-tool{color:var(--accent-cyan);background:#0a84ff1f}.sidebar-search-group{margin-bottom:0}.search-field-wrap{position:relative}.search-field-wrap .input-field{border-radius:var(--radius-full);background:#ffffff12;min-height:44px;padding:.65rem 2.75rem .65rem .92rem}.search-clear-button{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.search-clear-button:hover{color:var(--text-primary);background:#ffffff14}.group-composer{border:1px solid var(--border-color);border-radius:var(--card-radius);background:#ffffff0d;gap:.65rem;padding:.75rem;display:grid}.group-selected-users{flex-wrap:wrap;gap:.4rem;display:flex}.group-selected-users button,.selected-check{border-radius:var(--radius-full);color:#c4efff;background:#0a84ff1f;border:1px solid #16c7ff59;align-items:center;gap:.35rem;min-height:28px;padding:.28rem .58rem;font-size:.76rem;font-weight:700;display:inline-flex}.group-selected-users button{cursor:pointer}.group-actions{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.group-actions .btn{min-height:40px;padding:.55rem}.users-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.45rem;min-height:0;padding:.72rem;display:flex;overflow-y:auto}.search-results-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin:.5rem .25rem;font-size:.78rem;display:flex}.search-results-header h3{color:var(--text-secondary);font-size:.78rem}.search-empty,.sidebar-empty-state{color:var(--text-muted);text-align:center;padding:1.35rem 1rem;font-size:.9rem}.sidebar-error{border-radius:var(--card-radius);color:#ffc0c8;background:#ff5a721a;border:1px solid #ff5a724d;gap:.75rem;padding:.9rem;font-size:.85rem;display:grid}.user-card{border-radius:var(--card-radius);min-height:68px;color:var(--text-primary);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.65rem;padding:.72rem;display:flex}.user-card:hover,.user-card.active,.user-card.selected{border-color:var(--border-color);background:#ffffff0f}.user-card.selected{background:#0a84ff1f;border-color:#16c7ff59}.user-card-button,.conversation-main{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0}.conversation-card{padding:.35rem}.conversation-main{justify-content:space-between;align-items:center;gap:.6rem;min-width:0;min-height:58px;padding:.35rem;display:flex}.conversation-trailing{flex:none;justify-items:end;gap:.32rem;min-width:46px;display:grid}.conversation-time{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:600}.conversation-action{border-radius:var(--radius-full);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.conversation-action:hover,.danger-action:hover{color:#ffb8c3;background:#ff5a721f}.row-action-label{border-radius:var(--radius-full);color:#bfe8ff;background:#0a84ff1f;justify-content:center;align-items:center;min-height:30px;padding:.32rem .58rem;font-size:.72rem;font-weight:800;display:inline-flex}.call-list-row{padding:.35rem}.call-list-row .conversation-main{flex:1}.call-row-action{color:#b9ffe0;background:#27e59a1a;border-color:#27e59a47;align-items:center;gap:.35rem;min-height:36px;padding:.45rem .62rem;font-size:.78rem;font-weight:800;display:inline-flex}.call-row-action:disabled{opacity:.46}.settings-panel{gap:.65rem;padding:.1rem;display:grid}.settings-profile,.settings-row{border-radius:var(--card-radius);background:#ffffff0b;border:1px solid #ffffff14}.settings-profile{align-items:center;gap:.8rem;padding:.85rem;display:flex}.settings-row{width:100%;min-height:58px;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.settings-row:hover:not(:disabled){background:#0a84ff1a;border-color:#0a84ff42}.settings-row:disabled{cursor:default;opacity:.62}.settings-row span{gap:.14rem;min-width:0;display:grid}.settings-row strong{font-size:.9rem}.settings-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.settings-row.danger{color:#ffc0c8;border-color:#ff5a722e}.user-info{flex:1;align-items:center;gap:.8rem;min-width:0;display:flex}.user-details{min-width:0}.user-name,.user-meta{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-name{font-weight:800}.user-meta{color:var(--text-muted);font-size:.82rem}.unread-badge{border-radius:var(--radius-full);background:var(--accent-primary);color:#fff;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 .38rem;font-size:.72rem;font-weight:800;display:inline-flex}.list-skeleton{border-radius:var(--card-radius);height:60px}.messenger-main{background:linear-gradient(180deg, #0a84ff0e, transparent 22%), var(--bg-dark);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.dashboard-empty,.messenger-empty{text-align:center;flex:1;place-items:center;padding:1.2rem;display:grid}.dashboard-hero-card{width:min(480px,100%);padding:1.4rem}.dashboard-glyph,.empty-state-icon{color:var(--accent-cyan);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.dashboard-hero-card .security-info{text-align:left;margin-top:1rem}.dashboard-hero-card .security-info.compact{background:0 0;border:0;padding:0}.chat-header{z-index:12;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#050506d1;border-bottom:1px solid #ffffff14;align-items:center;gap:.75rem;min-height:70px;padding:.72rem 1rem;display:flex;position:relative}.chat-avatar{margin:0}.chat-peer-summary{flex-direction:column;flex:1;min-width:0;display:flex}.chat-peer-summary h2{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.15;overflow:hidden}.encrypted-label,.group-members-toggle{width:-moz-fit-content;width:fit-content;max-width:100%;min-height:22px;color:var(--text-muted);background:0 0;border:0;align-items:center;gap:.28rem;padding:0;font-size:.78rem;display:inline-flex}.group-members-toggle{cursor:pointer}.group-members-toggle:hover{color:var(--text-secondary)}.chat-encryption-chip{z-index:11;border-radius:var(--radius-full);color:#2ce99b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05160fb8;border:1px solid #27e59a33;align-self:center;align-items:center;gap:.35rem;margin:.55rem auto -.08rem;padding:.3rem .72rem;font-size:.72rem;font-weight:800;display:inline-flex;position:relative;box-shadow:0 10px 28px #00000038}.chat-header-actions{align-items:center;gap:.32rem;display:flex}.call-button{color:var(--accent-green)}.danger-action{color:#ff9aaa}.mobile-back-btn{display:none}.group-members-panel{background:#0c1016db;border-bottom:1px solid #ffffff14;padding:.85rem 1rem}.group-members-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:.65rem;font-size:.78rem;display:flex}.group-members-header h3{color:var(--text-secondary);font-size:.8rem}.group-members-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;max-height:220px;display:grid;overflow-y:auto}.group-member-row{border:1px solid var(--border-color);border-radius:var(--card-radius);background:#ffffff0b;align-items:center;gap:.75rem;min-width:0;padding:.6rem;display:flex}.member-message-button{min-height:36px;padding:.42rem .68rem;font-size:.82rem}.active-call-banner,.chat-security-banner,.call-toast,.call-panel{margin:.8rem 1rem 0}.active-call-banner{border-radius:var(--card-radius);background:#27e59a14;border:1px solid #27e59a47;justify-content:space-between;align-items:center;gap:1rem;padding:.78rem .9rem;display:flex}.active-call-banner div{gap:.12rem;display:grid}.active-call-banner span{color:var(--text-secondary);font-size:.84rem}.call-toast,.call-panel{z-index:28;width:min(350px,100% - 2rem);box-shadow:var(--shadow-md);position:absolute;right:1rem}.call-toast{border-radius:var(--card-radius);color:#ffc0c8;background:#240e13f2;border:1px solid #ff5a7247;align-items:center;gap:.65rem;padding:.75rem;display:flex;top:4.8rem}.call-panel{border-radius:var(--card-radius);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#121720fa,#06080cfa),#080b10;border:1px solid #0a84ff33;flex-direction:column;align-items:center;gap:.68rem;padding:1rem;display:flex;top:4.95rem}.call-avatar{border-radius:var(--radius-full);color:#fff;background:linear-gradient(145deg,#0a84ff,#16c7ff);place-items:center;width:58px;height:58px;font-size:1.2rem;font-weight:800;display:grid;box-shadow:0 0 0 6px #0a84ff1f}.call-state,.call-duration,.call-participant-state{color:var(--text-muted);font-size:.78rem}.call-duration{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;background:#ffffff12;padding:.2rem .55rem}.call-panel h3{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.14rem;overflow:hidden}.call-participants-list{-webkit-overflow-scrolling:touch;gap:.42rem;width:100%;max-height:168px;display:grid;overflow-y:auto}.call-participant-row{border:1px solid var(--border-color);border-radius:var(--card-radius);background:#ffffff0b;justify-content:space-between;align-items:center;gap:.65rem;min-height:48px;padding:.52rem .6rem;display:flex}.call-participant-row.is-joined{background:#27e59a14;border-color:#27e59a47}.call-participant-info{min-width:0}.call-participant-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:800;display:block;overflow:hidden}.call-mute-state{color:var(--accent-green);align-items:center;gap:.28rem;font-size:.74rem;font-weight:800;display:inline-flex}.call-mute-state.is-muted,.is-muted{color:var(--accent-warning)}.call-actions{justify-content:center;gap:.65rem;width:100%;display:flex}.call-actions .btn{flex:1}.call-accept{color:#b9ffe0;background:#27e59a1f;border-color:#27e59a4d}.call-end{color:#ffc0c8;background:#ff5a721f;border-color:#ff5a724d}.call-volume-control{width:100%;color:var(--text-secondary);border-top:1px solid #ffffff14;align-items:center;gap:.8rem;padding-top:.7rem;font-size:.8rem;display:flex}.call-volume-control span{font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;width:64px;display:inline-flex}.call-volume-control input{width:100%;accent-color:var(--accent-cyan)}.chat-messages{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding:1rem 1.1rem;display:flex;overflow-y:auto}.chat-messages-container{flex-direction:column;gap:.48rem;width:min(760px,100%);margin:auto auto 0;display:flex}.bubble{border-radius:var(--bubble-radius);word-break:break-word;max-width:min(76%,560px);animation:message-in .18s var(--transition-fast);background:#ffffff14;border:1px solid #ffffff14;border-bottom-left-radius:5px;align-self:flex-start;padding:.72rem .86rem;box-shadow:0 6px 18px #0003}.bubble.mine{border-bottom-right-radius:5px;border-bottom-left-radius:var(--bubble-radius);color:#fff;background:linear-gradient(#0a84ff,#006be6);border-color:#0a84ff59;align-self:flex-end}.bubble p{white-space:pre-wrap}.bubble-sender{color:#2ce99b;margin-bottom:.24rem;font-size:.7rem;font-weight:800;line-height:1;display:block}.bubble-meta{color:#ffffffad;justify-content:flex-end;align-items:center;gap:.25rem;margin-top:.32rem;font-size:.68rem;display:flex}.delivery-check{opacity:.62}.image-bubble{width:min(78%,390px);padding:.28rem;overflow:hidden}.chat-image-button{border-radius:calc(var(--bubble-radius) - 4px);width:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.chat-image-button img{object-fit:cover;background:var(--surface);width:100%;max-height:360px;display:block}.image-lock-chip{border-radius:var(--radius-full);color:#b9ffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000a3;border:1px solid #27e59a57;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;bottom:.55rem;left:.55rem}.typing-indicator{color:var(--text-muted);align-self:flex-start;align-items:center;gap:.28rem;margin-top:.2rem;font-size:.78rem;display:inline-flex}.typing-indicator i{border-radius:var(--radius-full);background:var(--accent-cyan);width:5px;height:5px;animation:1s ease-in-out infinite typing}.typing-indicator i:nth-child(3){animation-delay:.12s}.typing-indicator i:nth-child(4){animation-delay:.24s}.chat-input-area{z-index:14;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#050506db;border-top:1px solid #ffffff14;padding:.85rem 1rem 1rem;position:relative}.composer-row{border:1px solid var(--border-color);background:#ffffff13;border-radius:22px;align-items:flex-end;gap:.5rem;width:min(760px,100%);margin:0 auto;padding:.36rem;display:flex;position:relative}.composer-tool{color:var(--accent-cyan)}.composer-lock{color:var(--text-muted);align-self:center;align-items:center;display:inline-flex}.composer-emoji{color:var(--text-secondary)}.composer-emoji.active{color:#fff;background:#ffffff1f}.emoji-picker{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d1015f5;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:repeat(4,38px);gap:.36rem;padding:.45rem;display:grid;position:absolute;bottom:calc(100% + .55rem);right:3.1rem;box-shadow:0 18px 44px #0000005c}.emoji-picker button{border-radius:var(--radius-full);cursor:pointer;background:#ffffff12;border:0;place-items:center;width:38px;height:38px;font-size:1.15rem;display:grid}.emoji-picker button:hover{background:#0a84ff2e}.composer-input{resize:none;min-height:42px;max-height:132px;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;padding:.58rem .35rem;font-size:1rem;line-height:1.35}.send-button{flex-shrink:0}.send-button.listening{box-shadow:0 0 0 4px #0a84ff2e,0 0 28px #0a84ff6b;background:linear-gradient(#1495ff,#0071f0)!important}.composer-hint{color:var(--text-muted);text-align:center;margin-top:.55rem;font-size:.72rem;display:block}.image-draft-panel{border-radius:var(--card-radius);background:#0a84ff14;border:1px solid #16c7ff33;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:.7rem;width:min(760px,100%);margin:0 auto .65rem;padding:.55rem;display:grid}.image-draft-preview{border-radius:var(--card-radius);background:var(--surface);cursor:zoom-in;border:0;width:56px;height:56px;padding:0;overflow:hidden}.image-draft-preview img{object-fit:cover;width:100%;height:100%}.image-draft-copy{min-width:0;display:grid}.image-draft-copy strong,.image-draft-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.image-draft-copy strong{font-size:.86rem}.image-draft-copy span,.image-draft-loading,.image-draft-error{color:var(--text-secondary);font-size:.78rem}.image-draft-loading{grid-column:1/-1;align-items:center;gap:.55rem;display:flex}.image-draft-error{color:#ffc0c8;grid-column:1/-1}.image-send-button{min-height:38px;padding:.5rem .7rem}.image-lightbox{z-index:300;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#000000db;place-items:center;padding:1rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.image-lightbox img{border-radius:var(--card-radius);object-fit:contain;max-width:min(100%,1100px);max-height:86dvh;box-shadow:var(--shadow-md)}.lightbox-close{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));position:absolute}.chat-empty-state{margin:auto}.chat-empty-state h3{margin-bottom:.45rem}.chat-title-skeleton{width:150px;height:24px}.unlock-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid}.unlock-form .remember-unlock{grid-column:1/-1}@keyframes message-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}@keyframes typing{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.mobile-tabbar{right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));z-index:120;border:1px solid var(--border-color);height:58px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#090b0eeb;border-radius:22px;justify-content:space-around;align-items:center;display:none;position:fixed;left:.75rem}.mobile-tab{min-width:72px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;gap:.18rem;font-size:.68rem;font-weight:800;display:grid}.mobile-tab.active{color:var(--accent-cyan)}.mobile-filter-button,.messenger-tabbar{display:none}@supports (padding-bottom:env(safe-area-inset-bottom)){.app-navbar{padding-top:env(safe-area-inset-top)}.chat-input-area{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@media (max-width:980px){.home-hero h1{font-size:3.3rem}.feature-strip,.trust-section{grid-template-columns:1fr}.messenger-layout{border-inline-start:0;border-inline-end:0;width:100%}}@media (max-width:760px){body{background:#050506}.app-layout{min-height:100%}.messenger-app{height:100vh;height:100dvh;overflow:hidden}.app-navbar{min-height:var(--mobile-nav-height)}.messenger-app .app-navbar{display:none}.messenger-app .main-content{height:100vh;height:100dvh;overflow:hidden}.navbar-container{padding:.66rem .9rem}.nav-links{gap:.45rem}.nav-links .dashboard-link,.nav-username{display:none}.home-hero{min-height:calc(100dvh - var(--mobile-nav-height) - 64px);padding:4.4rem 1rem 3.4rem}.home-hero-image{object-position:70% center;opacity:.42}.home-hero-shade{background:linear-gradient(#050506bd,#050506fa 70%),linear-gradient(90deg,#050506e6,#0000)}.home-hero h1{font-size:2.55rem}.home-hero-lede{font-size:1.2rem}.home-hero-copy{font-size:.96rem}.hero-ctas .btn{flex:1;min-width:0}.home-section{width:min(100% - 1.3rem,1120px);padding:2.8rem 0}.auth-page{min-height:calc(100dvh - var(--mobile-nav-height));align-items:start;padding:1rem .75rem 2rem}.auth-shell{padding:1rem}.auth-header h1{font-size:1.65rem}.messenger-layout{width:100vw;max-width:100%;height:100vh;background:#050506;height:100dvh;min-height:0;position:relative;overflow:hidden}.messenger-sidebar{width:100%;min-width:0;height:100%;min-height:0;transition:transform var(--transition-normal);background:#050506;border-right:0;overflow:hidden}.messenger-main{z-index:10;width:100%;height:100%;min-height:0;transition:transform var(--transition-normal);background:#050506;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;transform:translate(100%)}.messenger-layout.mobile-chat-open .messenger-main{transform:translate(0)}.messenger-layout.mobile-chat-open .messenger-sidebar{transform:translate(-100%)}.mobile-back-btn{display:inline-flex}.mobile-tabbar{display:none}.sidebar-header{padding:calc(.96rem + env(safe-area-inset-top,0px)) max(.86rem, env(safe-area-inset-right,0px)) .48rem max(.86rem, env(safe-area-inset-left,0px));background:#050506;border-bottom:0;flex:none;gap:.68rem}.sidebar-title>div{min-width:0}.sidebar-title h2{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:1.52rem;overflow:hidden}.sidebar-subtitle,.push-tool,.logout-tool{display:none}.sidebar-tools .btn.icon-only{width:36px;height:36px;color:var(--accent-primary)}.sidebar-tools{flex:none}.sidebar-search-group{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:.5rem;display:grid}.mobile-filter-button{color:#b7c0cc;background:0 0;border:0;border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.search-field-wrap .input-field{min-height:36px;box-shadow:none;background:#171b22;border:0;border-radius:9px;padding:.46rem 2.25rem .46rem .82rem}.search-clear-button{width:32px;height:32px}.users-list{padding:.38rem max(.7rem, env(safe-area-inset-right,0px)) .38rem max(.7rem, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;background:#050506;gap:0}.messenger-tabbar{height:calc(70px + env(safe-area-inset-bottom,0px));padding:.38rem max(.34rem, env(safe-area-inset-right,0px)) calc(.42rem + env(safe-area-inset-bottom,0px)) max(.34rem, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050506f5;border-top:1px solid #ffffff12;flex:none;grid-template-columns:repeat(4,1fr);display:grid}.messenger-tab{color:#828a96;touch-action:manipulation;background:0 0;border:0;border-radius:14px;place-items:center;gap:.18rem;min-width:0;min-height:48px;font-size:.64rem;font-weight:800;line-height:1.05;display:grid}.messenger-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.messenger-tab svg{width:22px;height:22px}.messenger-tab.active{color:var(--accent-primary)}.search-results-header,.list-section-title{display:none}.user-card{background:0 0;border:0;border-bottom:1px solid #ffffff0e;border-radius:0;min-height:66px;padding:.48rem .1rem}.user-card:hover,.user-card.active,.user-card.selected{background:#ffffff09;border-color:#ffffff0e}.conversation-card{padding:0}.conversation-main{min-height:66px;padding:0}.conversation-trailing{align-content:center;align-self:stretch;gap:.28rem;min-width:50px}.conversation-time{font-size:.66rem}.conversation-action{display:none}.call-list-row{padding:.42rem .1rem}.call-row-action{border-radius:var(--radius-full);border:0;min-height:34px;padding:.38rem .56rem}.row-action-label{min-height:28px;padding:.28rem .48rem;font-size:.68rem}.settings-panel{padding:.28rem 0 0}.settings-profile,.settings-row{border-radius:14px}.settings-row{min-height:56px;padding:.72rem .78rem}.user-info{gap:.7rem}.user-card .avatar.small{width:43px;height:43px;font-size:.86rem}.user-name{letter-spacing:-.01em;font-size:.94rem}.user-meta{color:#8a929f;margin-top:.12rem;font-size:.78rem}.unread-badge{min-width:19px;height:19px;padding:0 .32rem;font-size:.68rem}.chat-header{min-height:calc(62px + env(safe-area-inset-top,0px));padding:calc(.5rem + env(safe-area-inset-top,0px)) max(.58rem, env(safe-area-inset-right,0px)) .48rem max(.58rem, env(safe-area-inset-left,0px));background:#050506;border-bottom-color:#ffffff0f;flex:none;gap:.5rem}.chat-header-actions{gap:.2rem}.chat-header-actions .btn.icon-only,.mobile-back-btn{width:34px;height:34px;color:var(--accent-primary);background:0 0;border:0}.members-action{display:none}.danger-action{color:#aab3bf}.chat-avatar{width:38px;height:38px}.chat-peer-summary h2{letter-spacing:-.01em;font-size:.95rem}.encrypted-label,.group-members-toggle{font-size:.7rem}.chat-encryption-chip{background:#04110cdb;border-color:#27e59a2e;margin:.42rem auto -.12rem;padding:.25rem .58rem;font-size:.66rem}.chat-messages{min-height:0;padding:.82rem max(.58rem, env(safe-area-inset-right,0px)) .76rem max(.58rem, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;background:#050506}.chat-messages-container{gap:.42rem;width:100%}.bubble{max-width:78%;box-shadow:none;background:#1a1d22;border:0;border-radius:13px 13px 13px 4px;padding:.56rem .68rem;font-size:.9rem}.bubble.mine{background:#0a84ff;border-bottom-right-radius:4px;border-bottom-left-radius:13px}.image-bubble{background:0 0;border:1px solid #0a9dff;width:min(82%,332px);max-width:82%;padding:.16rem}.chat-image-button img{border-radius:12px;max-height:244px}.image-lock-chip{color:#2ce99b;padding:.22rem .42rem;font-size:.64rem;bottom:.58rem;left:.58rem}.bubble-sender{margin-bottom:.2rem;font-size:.66rem}.chat-input-area{padding:.42rem max(.48rem, env(safe-area-inset-right,0px)) calc(.44rem + env(safe-area-inset-bottom,0px)) max(.48rem, env(safe-area-inset-left,0px));background:#050506;border-top:0;flex:none}.composer-row{background:#111419;border:0;border-radius:18px;align-items:center;gap:.25rem;min-height:46px;padding:.28rem;box-shadow:inset 0 1px #ffffff0d}.composer-row .btn.icon-only{width:34px;height:34px;box-shadow:none;background:0 0;border:0;flex:0 0 34px}.composer-tool{border-radius:var(--radius-full);color:#aeb7c4;margin-right:.1rem;background:#1b2028!important}.composer-lock{color:#7b8490;align-items:center;display:inline-flex}.composer-emoji{color:#aeb7c4}.emoji-picker{border-radius:16px;grid-template-columns:repeat(4,36px);gap:.3rem;padding:.38rem;right:2.45rem}.emoji-picker button{width:36px;height:36px}.send-button{color:#d6dde6;background:#1b2028!important}.composer-input{flex:auto;min-width:0;min-height:34px;max-height:108px;padding:.43rem .2rem;font-size:14px;line-height:1.28}.composer-hint{display:none}.image-draft-panel{grid-template-columns:50px minmax(0,1fr) 36px;gap:.55rem;width:100%;margin-inline-start:auto;margin-inline-end:auto}.image-draft-panel .ghost-action{grid-column:3}.image-send-button{grid-column:1/-1;width:100%}.active-call-banner{flex-direction:column;align-items:stretch}.active-call-banner .btn{width:100%}.call-panel,.call-toast{top:calc(.65rem + env(safe-area-inset-top,0px));right:max(.65rem, env(safe-area-inset-right,0px));left:max(.65rem, env(safe-area-inset-left,0px));width:auto;max-height:calc(100dvh - 1.3rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overflow-y:auto}.call-panel{gap:.55rem;padding:.85rem}.call-avatar{width:50px;height:50px;font-size:1.05rem}.call-participants-list{max-height:min(34dvh,240px)}.call-participant-row{padding:.48rem .55rem}.call-actions{background:linear-gradient(#0000,#06080cf5 34%);padding-top:.32rem;position:sticky;bottom:0}.group-members-list{grid-template-columns:1fr;max-height:190px}.unlock-form{grid-template-columns:1fr}}@media (max-width:420px){.sidebar-header{padding-top:calc(.82rem + env(safe-area-inset-top,0px));gap:.52rem}.sidebar-title h2{font-size:1.38rem}.sidebar-search-group{grid-template-columns:minmax(0,1fr) 34px;gap:.36rem}.mobile-filter-button,.sidebar-tools .btn.icon-only{width:34px;height:34px}.user-card{min-height:62px;padding-block-start:.42rem;padding-block-end:.42rem}.conversation-main{min-height:62px}.user-card .avatar.small{width:40px;height:40px}.user-name{font-size:.9rem}.user-meta{font-size:.74rem}.messenger-tabbar{height:calc(66px + env(safe-area-inset-bottom,0px));padding-top:.32rem}.messenger-tab{min-height:44px;font-size:.58rem}.messenger-tab svg{width:20px;height:20px}.chat-header{min-height:calc(58px + env(safe-area-inset-top,0px));gap:.36rem}.chat-header-actions .btn.icon-only,.mobile-back-btn{width:32px;height:32px}.chat-avatar{width:34px;height:34px}.chat-peer-summary h2{font-size:.88rem}.group-members-toggle,.encrypted-label{max-width:100%;font-size:.64rem}.bubble{max-width:84%;font-size:.88rem}.image-bubble{width:min(88%,310px);max-width:88%}.composer-lock{display:none}.composer-row{gap:.18rem}.composer-row .btn.icon-only{flex-basis:32px;width:32px;height:32px}.emoji-picker{grid-template-columns:repeat(4,34px);right:2rem}.emoji-picker button{width:34px;height:34px}}@media (max-width:760px) and (max-height:640px){.sidebar-header{padding-top:calc(.62rem + env(safe-area-inset-top,0px));gap:.42rem;padding-bottom:.32rem}.messenger-tabbar{height:calc(60px + env(safe-area-inset-bottom,0px));padding-top:.24rem}.messenger-tab{min-height:40px}.chat-header{min-height:calc(54px + env(safe-area-inset-top,0px))}.chat-messages{padding-top:.58rem;padding-bottom:.5rem}.chat-encryption-chip{margin-top:.28rem}}@media (display-mode:standalone){.app-navbar{padding-top:env(safe-area-inset-top,0px)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-dark:#050506;--bg-elevated:#0f1217db;--bg-soft:#ffffff0e;--bg-input:#ffffff12;--surface:#0b0d10;--surface-2:#11151b;--surface-3:#171c24;--accent-primary:#0a84ff;--accent-cyan:#16c7ff;--accent-green:#27e59a;--accent-rose:#ff5a72;--accent-warning:#ffc857;--text-primary:#f7fbff;--text-secondary:#a8b0bc;--text-muted:#687280;--border-color:#ffffff1a;--border-strong:#ffffff2e;--shadow-md:0 18px 50px #0000005c;--shadow-soft:0 10px 30px #0000003d;--card-radius:8px;--control-radius:16px;--bubble-radius:18px;--radius-full:999px;--nav-height:68px;--mobile-nav-height:58px;--tabbar-height:74px;--transition-fast:.17s cubic-bezier(.2, 0, 0, 1);--transition-normal:.26s cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html{background:var(--bg-dark);min-height:100%}body{min-width:320px;min-height:100vh;background:linear-gradient(115deg, #0a84ff1a, transparent 28%), linear-gradient(245deg, #27e59a12, transparent 28%), var(--bg-dark);min-height:100dvh;color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;overflow-x:hidden}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,p{margin:0}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border:1px solid var(--border-color);border-radius:var(--control-radius);min-height:44px;color:var(--text-primary);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);background:#ffffff0e;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.05rem;font-size:.94rem;font-weight:700;line-height:1;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-strong);background:#ffffff17;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#fff;background:linear-gradient(#1aa1ff,#0876f2);border-color:#0a84ffa6;box-shadow:0 14px 32px #0a84ff47}.btn.ghost,.ghost-action{color:var(--text-secondary);background:#ffffff0b}.btn.icon-only{border-radius:var(--radius-full);flex:none;width:42px;height:42px;padding:0}.input-group{flex-direction:column;gap:.48rem;display:flex}.input-group label{color:var(--text-secondary);font-size:.82rem;font-weight:700}.input-field{border:1px solid var(--border-color);border-radius:var(--control-radius);background:var(--bg-input);width:100%;min-height:48px;color:var(--text-primary);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);outline:0;padding:.78rem .95rem;font-size:1rem}.input-field::placeholder,.composer-input::placeholder{color:#697381}.input-field:focus,.composer-row:focus-within{border-color:#16c7ff94;box-shadow:0 0 0 4px #0a84ff1f}.input-error{border-color:#ff5a72b3}.field-error{color:#ff98a8;font-size:.78rem}.alert{border:1px solid var(--border-color);border-radius:var(--card-radius);color:var(--text-secondary);background:#ffffff0e;align-items:flex-start;gap:.65rem;padding:.82rem .9rem;font-size:.86rem;display:flex}.alert svg{flex-shrink:0}.alert.error{color:#ffc0c8;background:#ff5a721a;border-color:#ff5a7252}.alert.warning{color:#ffe2a3;background:#ffc8571a;border-color:#ffc85752}.compact-alert{margin-bottom:.75rem}.page-loading{min-height:60vh;color:var(--text-secondary);place-items:center;display:grid}.skeleton{color:#0000;background:linear-gradient(90deg,#ffffff0a,#ffffff1f,#ffffff0a) 0 0/220% 100%;animation:1.25s linear infinite loading;overflow:hidden}@keyframes loading{to{background-position:-220% 0}}.spinner{border:2px solid #ffffff2e;border-top-color:var(--accent-cyan);border-radius:var(--radius-full);width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{border-radius:var(--radius-full);color:#dff7ff;text-transform:uppercase;background:linear-gradient(145deg,#102a42,#10151c);border:1px solid #16c7ff61;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.05rem;font-weight:800;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff1f}.avatar.small{width:38px;height:38px;font-size:.84rem}.avatar.group-avatar{color:#d8eaff;background:radial-gradient(circle at 34% 28%,#60a5fa80,#0000 34%),linear-gradient(145deg,#18345a,#10141b 72%);border-color:#0a84ff6b}.status-dot{border:2px solid var(--surface);border-radius:var(--radius-full);background:#505a66;width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.status-dot.online{background:var(--accent-green)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff24}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
