:root{color:#edf8f6;font-synthesis:none;--bg:#02090d;--panel:#07141a;--panel-raised:#0a1b23;--line:#17333c;--line-soft:#0e242b;--text:#edf8f6;--muted:#789098;--accent:#43e59b;--accent-bright:#75ffc0;--danger:#ff5b6b;--warning:#ffbd4a;--radius:14px;background:#02090d;font-family:Segoe UI Variable,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 78% 16%,#18846b1f,#0000 28%),linear-gradient(135deg,#01070a 0%,#041015 52%,#02090d 100%)}button,input,textarea{font:inherit}button,input,textarea,.login-card,.modal-card,.message,.account-card{border-radius:var(--radius)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.login-shell,.loading-shell{place-items:center;width:100%;height:100%;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:linear-gradient(145deg,#0a1b23f5,#040e13fa);width:min(520px,100%);padding:34px;box-shadow:0 28px 90px #00000073,0 0 44px #43e59b0d}.brand{align-items:center;gap:13px;min-height:60px;display:flex}.brand-radar,.loading-radar{border:1px solid var(--accent);background:linear-gradient(90deg,#0000 49%,#43e59b73 50%,#0000 51%),linear-gradient(#0000 49%,#43e59b73 50%,#0000 51%),repeating-radial-gradient(circle,#0000 0 7px,#43e59b54 8px 9px);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 0 22px #43e59b2e}.brand-sweep,.radar-sweep{transform-origin:0;background:linear-gradient(90deg, var(--accent-bright), transparent);width:50%;height:1px;animation:2.6s linear infinite radar;position:absolute;inset:50% 50% 0}.brand-core,.radar-core{background:var(--accent-bright);width:7px;height:7px;box-shadow:0 0 12px var(--accent);border-radius:50%}.brand-copy{gap:2px;display:grid}.brand-copy strong{letter-spacing:.06em;font-size:21px}.brand-copy small,.eyebrow,.field-label,.device-id{color:var(--muted);letter-spacing:.1em;font-size:11px}.login-heading{margin:34px 0 24px}h1,h2,p{margin-top:0}h1{margin:8px 0 10px;font-size:clamp(28px,5vw,42px)}h2{margin:5px 0 0;font-size:22px}.muted{color:var(--muted);line-height:1.55}.login-form,.modal-form{gap:15px;display:grid}.field{gap:8px;display:grid}.field input,.composer textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#020a0ecc;transition:border-color .14s,box-shadow .14s}.field input{height:48px;padding:0 15px}.field input:focus,.composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #43e59b1a}.form-error{color:#ffadb5;background:#ff5b6b14;border:1px solid #ff5b6b73;border-radius:10px;padding:12px 14px}.button{border:1px solid var(--line);min-height:42px;color:var(--text);cursor:pointer;letter-spacing:.05em;background:0 0;padding:0 18px;font-size:12px;font-weight:700;transition:transform .14s,border-color .14s,color .14s,background .14s,box-shadow .18s}.button:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55}.button.primary{border-color:var(--accent);color:#001a10;background:linear-gradient(135deg, var(--accent-bright), var(--accent));box-shadow:0 0 22px #43e59b1f}.button.ghost{color:var(--muted)}.button.wide{width:100%}.loading-shell{align-content:center;gap:15px}.loading-radar{width:92px;height:92px}.workspace{grid-template-columns:330px minmax(0,1fr);width:100%;height:100%;display:grid}.sidebar{border-right:1px solid var(--line-soft);background:#020a0ef0;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-width:0;padding:20px;display:grid}.account-card{border:1px solid var(--line-soft);background:#091c238c;gap:7px;margin:22px 0 16px;padding:14px;display:grid}.account-id{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-toolbar{margin-bottom:12px}.room-list{scrollbar-color:var(--accent) transparent;scrollbar-width:thin;min-height:0;overflow:auto}.room-item{text-align:left;grid-template-columns:38px minmax(0,1fr);align-items:center;width:100%;min-height:58px;margin:4px 0;padding:9px;display:grid}.room-item.active{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent);background:#43e59b14}.room-avatar{border:1px solid var(--accent);width:32px;height:32px;color:var(--accent-bright);background:#43e59b12;border-radius:9px;place-items:center;display:grid}.room-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-note{color:var(--muted);padding:18px 8px;font-size:13px;line-height:1.5}.sidebar-footer{gap:12px;padding-top:15px;display:grid}.conversation{background:linear-gradient(#091b22d1,#030c10e6),repeating-linear-gradient(90deg,#0000 0 79px,#43e59b05 80px);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.conversation-header{border-bottom:1px solid var(--line-soft);background:#030c10b3;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:16px 24px;display:flex}.conversation-title{align-items:center;gap:14px;min-width:0;display:flex}.conversation-title h2{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;overflow:hidden}.encryption-pill,.connection-badge{border:1px solid var(--line);min-height:28px;color:var(--muted);letter-spacing:.08em;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.encryption-pill.secure,.connection-badge.ready{color:var(--accent-bright);border-color:#43e59b66}.encryption-pill.danger,.connection-badge.error{color:var(--danger);border-color:#ff5b6b80}.connection-badge.offline{color:var(--warning);border-color:#ffbd4a73}.connection-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 9px}.timeline{scrollbar-color:var(--accent) transparent;scrollbar-width:thin;flex-direction:column;gap:10px;min-height:0;padding:28px max(24px,7vw);display:flex;overflow-y:auto}.message{border:1px solid var(--line);background:#081920e6;width:-moz-fit-content;width:fit-content;max-width:min(680px,82%);padding:12px 14px 9px}.message.mine{background:#185f4a38;border-color:#43e59b61;align-self:flex-end}.message-sender,.message-meta{color:var(--muted);font-size:10px}.message-body{overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 7px}.decryption-error{color:var(--warning)}.empty-state{text-align:center;justify-items:center;margin:auto;display:grid}.empty-lock{border:1px solid var(--accent);border-radius:10px;width:46px;height:38px;margin-bottom:18px;display:block;box-shadow:0 0 22px #43e59b1f}.empty-lock:before{content:"";border:1px solid var(--accent);border-bottom:0;border-radius:12px 12px 0 0;width:22px;height:18px;margin:-15px auto 0;display:block}.composer{border-top:1px solid var(--line-soft);background:#020a0ee6;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 24px;display:grid}.composer textarea{resize:vertical;min-height:48px;max-height:150px;padding:13px 15px}.modal-overlay{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000507b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--accent);background:var(--panel-raised);width:min(480px,100%);padding:26px;animation:.16s ease-out modal-in;box-shadow:0 22px 80px #0000008c,0 0 30px #43e59b14}.modal-card h2{margin:6px 0 9px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.toast{z-index:30;border:1px solid var(--line);max-width:min(430px,100vw - 44px);color:var(--text);background:var(--panel-raised);border-radius:10px;padding:14px 17px;position:fixed;bottom:22px;right:22px;box-shadow:0 16px 48px #00000073}.toast.danger{color:#ffc2c8;border-color:#ff5b6b80}@keyframes radar{to{transform:rotate(360deg)}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:760px){.workspace{grid-template-columns:112px minmax(0,1fr)}.sidebar{padding:12px 8px}.sidebar .brand-copy,.account-card,.sidebar-footer small,.room-name{display:none}.brand{justify-content:center}.sidebar-toolbar .button{font-size:0}.sidebar-toolbar .button:after{content:"+";font-size:22px;display:inline}.sidebar-toolbar .button,.sidebar-footer .button{min-width:44px;padding:0}.sidebar-toolbar{place-items:center;display:grid}.room-item{grid-template-columns:1fr;place-items:center}.conversation-header{min-height:74px;padding:12px}.conversation-title{gap:3px;display:grid}.conversation-title .encryption-pill,.connection-text{display:none}.connection-badge{justify-content:center;min-width:30px}.timeline{padding:18px 12px}.composer{grid-template-columns:1fr;padding:10px}}
