:root{color:#202522;font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;--surface:#fff;--surface-muted:#f5f7f5;--border:#dce2de;--text:#202522;--muted:#6d756f;--accent:#177a54;--accent-hover:#116341;--accent-soft:#e6f2ec;--danger:#b6463c;background:#eef1ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh}button,input,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--accent);text-decoration:none}h1,h2,p{margin:0}h1{font-size:22px;line-height:1.25}h2{font-size:15px}.screen-status{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.brand-mark{color:#fff;background:var(--accent);border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.auth-shell{background:#f2f5f3;flex-direction:column;align-items:center;min-height:100dvh;padding:28px 20px;display:flex}.brand-lockup{align-items:center;gap:11px;width:min(100%,480px);margin-bottom:54px;font-size:18px;display:flex}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:min(100%,440px);padding:28px;box-shadow:0 16px 50px #192a2014}.register-panel{width:min(100%,620px)}.auth-heading{align-items:flex-start;gap:12px;margin-bottom:26px;display:flex}.auth-heading>svg{color:var(--accent);margin-top:2px}.auth-heading p,.page-header p{color:var(--muted);margin-top:4px;font-size:13px}form{flex-direction:column;gap:14px;display:flex}label{color:#404741;font-size:13px;font-weight:650}input,textarea{width:100%;color:var(--text);resize:vertical;background:#fff;border:1px solid #cfd6d1;border-radius:6px;outline:none;padding:11px 12px}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #177a541f}textarea{overflow-wrap:anywhere}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-row>div{flex-direction:column;gap:7px;display:flex}.key-label-row{justify-content:space-between;align-items:center;margin-bottom:-7px;display:flex}.key-output{position:relative}.key-actions{align-items:center;gap:10px;display:flex}.key-copy-button{min-height:34px;padding:0 11px;font-size:13px}.checkbox-row{align-items:center;gap:9px;font-weight:500;display:flex}.checkbox-row input{width:17px;height:17px;accent-color:var(--accent)}.primary-button,.secondary-button{border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:var(--accent)}.primary-button:hover{background:var(--accent-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{color:var(--text);background:var(--surface-muted);border:1px solid var(--border);padding:0 15px}.secondary-button.danger{color:var(--danger)}.text-button{color:var(--accent);background:0 0;border:0;align-items:center;gap:5px;padding:3px;font-size:13px;display:inline-flex}.icon-button{border:1px solid var(--border);color:#4e5851;background:0 0;border-radius:6px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{background:var(--surface-muted)}.auth-switch{text-align:center;color:var(--muted);margin-top:20px;font-size:13px}.auth-switch a{margin-left:5px;font-weight:700}.form-error{color:#8f3029;background:#fff0ee;border:1px solid #f0c8c4;border-radius:6px;padding:10px 12px;font-size:13px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:var(--surface);grid-template-columns:224px minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{border-right:1px solid var(--border);background:#f7f9f7;flex-direction:column;min-height:100dvh;padding:18px 14px;display:flex}.sidebar-brand{align-items:center;gap:10px;padding:0 6px 20px;display:flex}.sidebar-brand .brand-mark{width:34px;height:34px}.primary-nav{flex-direction:column;gap:4px;display:flex}.primary-nav a{color:#59625c;border-radius:6px;align-items:center;gap:11px;min-height:42px;padding:0 11px;font-size:14px;font-weight:650;display:flex}.primary-nav a.active{color:var(--accent);background:var(--accent-soft)}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:9px;margin-top:auto;padding:13px 5px 0;display:flex}.sidebar-user>div{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user strong{text-overflow:ellipsis;overflow:hidden}.sidebar-user small{color:var(--muted)}.presence{background:#a1a8a3;border-radius:50%;width:9px;height:9px}.presence.online{background:#22a36a;box-shadow:0 0 0 3px #dff3e9}.app-content{min-width:0;min-height:100dvh}.workspace-page{background:var(--surface);min-height:100dvh}.chat-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);display:grid}.list-pane{border-right:1px solid var(--border);padding:22px 18px}.single-pane{width:min(100%,840px);padding:24px 28px}.page-header{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.search-box{border:1px solid var(--border);background:var(--surface-muted);height:39px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;margin:18px 0;padding:0 11px;display:flex}.search-box input{box-shadow:none;background:0 0;border:0;padding:0}.empty-list,.conversation-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.empty-list{min-height:230px;font-size:13px}.empty-list strong,.conversation-empty strong{color:#4a524c}.conversation-pane{background:#f9faf9;place-items:center;display:grid}.conversation-empty{min-height:300px}.contact-list{border-top:1px solid var(--border)}.contact-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:70px;display:flex}.contact-row>div{flex-direction:column;flex:1;min-width:0;display:flex}.contact-copy{gap:2px}.contact-row small{color:var(--muted);font-family:ui-monospace,Consolas,monospace}.avatar{color:#295240;background:#dfece5;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:800;transition:filter .16s,opacity .16s,box-shadow .16s;display:grid}.avatar-image{object-fit:cover}.avatar-online{box-shadow:0 0 0 2px #2b9c69}.avatar-offline{filter:grayscale();opacity:.58;box-shadow:0 0 0 1px #aeb5b0}.remark-editor{align-items:center;gap:5px;flex-direction:row!important;display:flex!important}.remark-editor input{width:150px;padding:8px 9px}.settings-section{border-bottom:1px solid var(--border);padding:24px 0}.settings-section h2{margin-bottom:14px}.fingerprint-row{color:var(--accent);align-items:flex-start;gap:9px;display:flex}.fingerprint-row code{color:#4d5650;overflow-wrap:anywhere;font-size:12px}.avatar-setting{align-items:center;gap:14px;display:flex}.large-avatar{width:56px;height:56px;font-size:20px}.mobile-nav{display:none}.conversation-list{flex-direction:column;gap:3px;display:flex}.conversation-row{text-align:left;width:100%;min-height:67px;color:var(--text);background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;padding:9px 8px;display:flex}.conversation-row:hover,.conversation-row.selected{background:var(--accent-soft)}.conversation-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversation-row-body strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-row-body small{color:var(--muted)}.unread-count{color:#fff;background:var(--accent);border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:grid}.conversation-view{grid-template-rows:64px minmax(0,1fr) auto;width:100%;height:100dvh;display:grid}.conversation-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:10px 18px;display:flex}.conversation-header>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversation-header small{color:var(--muted)}.header-avatar{flex:0 0 38px;width:38px;height:38px}.message-scroll{background:#f9faf9;min-height:0;padding:20px clamp(14px,4vw,52px);overflow-y:auto}.message-row{flex-direction:column;align-items:flex-start;max-width:min(720px,86%);margin:0 0 16px;display:flex}.message-row.own{align-items:flex-end;margin-left:auto}.message-meta{color:var(--muted);align-items:center;gap:7px;margin:0 8px 4px;font-size:11px;display:flex}.message-meta strong{color:#4a524c;font-size:12px}.message-avatar{flex:0 0 24px;width:24px;height:24px;font-size:10px}.message-bubble{border:1px solid var(--border);min-width:48px;color:var(--text);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px 8px 8px 2px;padding:10px 12px;box-shadow:0 1px 2px #192a200a}.message-row.own .message-bubble{background:var(--accent-soft);border-color:#c7e2d4;border-radius:8px 8px 2px}.message-invalid{color:var(--danger);background:#fff0ee}.encrypted-file{border:1px solid var(--border);min-width:190px;max-width:300px;color:var(--accent);text-align:left;background:#ffffffad;border-radius:6px;align-items:center;gap:9px;margin-top:8px;padding:9px;display:flex}.encrypted-file span{min-width:0;color:var(--text);flex-direction:column;display:flex}.encrypted-file span small{color:var(--muted)}.composer{border-top:1px solid var(--border);background:var(--surface);padding:10px 18px 14px}.composer-row{align-items:flex-end;gap:8px;display:flex}.composer-row textarea{resize:none;min-height:38px;max-height:120px;padding:9px 11px}.composer-row>label{flex:0 0 38px}.send-button{color:#fff;background:var(--accent);border:0;border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.send-button:disabled{opacity:.45;cursor:not-allowed}.attachment-pills{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.attachment-pills span{border:1px solid var(--border);color:#4e5851;background:var(--surface-muted);border-radius:5px;align-items:center;gap:5px;max-width:250px;padding:5px 7px;font-size:12px;display:inline-flex}.attachment-pills span>svg{color:var(--accent)}.attachment-pills button{color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.dialog-backdrop{z-index:20;background:#18211c5c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:14px;width:min(100%,440px);max-height:min(680px,90dvh);padding:22px;display:flex;box-shadow:0 20px 60px #14201933}.dialog-panel header{justify-content:space-between;align-items:flex-start;display:flex}.dialog-panel header p{color:var(--muted);margin-top:4px;font-size:13px}.key-warning-dialog{border-top:4px solid #c66a19}.key-warning-dialog header{color:#9a4c0e;justify-content:flex-start;align-items:center;gap:10px}.key-warning-dialog>p{color:#3f463f;line-height:1.75}.key-warning-actions{justify-content:flex-end;display:flex}.key-warning-actions .primary-button{min-width:148px}.member-picker{border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:120px;max-height:300px;overflow-y:auto}.picker-row{align-items:center;gap:9px;min-height:42px;padding:0 4px;font-weight:500;display:flex}.picker-row input{width:17px;height:17px;accent-color:var(--accent)}.mobile-only{display:none}@media (width<=720px){.auth-shell{padding:max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom))}.brand-lockup{margin-bottom:28px}.auth-panel{box-shadow:none;padding:22px 18px}.field-row{grid-template-columns:1fr}.key-label-row{align-items:flex-start;gap:8px}.key-actions{flex-wrap:wrap;justify-content:flex-end}.app-shell{min-height:100dvh;padding-bottom:calc(62px + env(safe-area-inset-bottom));display:block}.app-sidebar{display:none}.app-content,.workspace-page{min-height:calc(100dvh - 62px - env(safe-area-inset-bottom))}.chat-workspace{display:block}.list-pane{min-height:inherit;border-right:0;padding:18px 15px}.conversation-pane,.chat-workspace.has-selection .list-pane{display:none}.chat-workspace.has-selection .conversation-pane{min-height:calc(100dvh - 62px - env(safe-area-inset-bottom));display:block}.conversation-view{height:calc(100dvh - 62px - env(safe-area-inset-bottom))}.mobile-only{display:grid}.message-scroll{padding:16px 12px}.message-row{max-width:92%}.composer{padding:8px 10px 10px}.single-pane{padding:18px 15px}.mobile-nav{z-index:10;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fffffff5;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.mobile-nav a.active{color:var(--accent)}}
