:root[data-theme=dark]{--bg:#0f1117;--surface:#181b24;--surface-2:#222634;--border:#2d323f;--text:#e6e8ee;--muted:#98a1b0;--accent:#a78bfa;--accent-strong:#c4b5fd;--accent-soft:#262036;--sent-bg:#4456c7;--sent-text:#fff;--recv-bg:#c2660f;--recv-text:#fff;--danger:#f87171;--success:#34d399;--warn:#fbbf24;--shadow:0 1px 3px #0006, 0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--bg:#eef0f4;--surface:#fff;--surface-2:#f5f6f8;--border:#e4e7ec;--text:#1f2733;--muted:#6b7280;--accent:#7c3aed;--accent-strong:#6d28d9;--accent-soft:#f1ebff;--sent-bg:#2d3b97;--sent-text:#fff;--recv-bg:#ff8513;--recv-text:#fff;--danger:#dc2626;--success:#059669;--warn:#b45309;--shadow:0 1px 3px #10182814, 0 8px 24px #1018280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=midnight]{--bg:#000;--surface:#0b0c10;--surface-2:#15161d;--border:#23242e;--text:#e8e9ef;--muted:#8b909d;--accent:#b794ff;--accent-strong:#d4c4ff;--accent-soft:#1a1426;--sent-bg:#3a47b0;--sent-text:#fff;--recv-bg:#b65d0c;--recv-text:#fff;--danger:#fb7185;--success:#2dd4bf;--warn:#fcd34d;--shadow:0 1px 2px #0009, 0 8px 24px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=nord]{--bg:#2e3440;--surface:#3b4252;--surface-2:#434c5e;--border:#4c566a;--text:#eceff4;--muted:#9aa4b8;--accent:#88c0d0;--accent-strong:#8fbcbb;--accent-soft:#3b4659;--sent-bg:#5e81ac;--sent-text:#eceff4;--recv-bg:#d08770;--recv-text:#2e3440;--danger:#bf616a;--success:#a3be8c;--warn:#ebcb8b;--shadow:0 1px 3px #0000004d, 0 8px 24px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=solarized-light]{--bg:#fdf6e3;--surface:#fffbf0;--surface-2:#eee8d5;--border:#e3dcc4;--text:#586e75;--muted:#93a1a1;--accent:#6c71c4;--accent-strong:#5b60b0;--accent-soft:#e9e6d6;--sent-bg:#268bd2;--sent-text:#fdf6e3;--recv-bg:#cb4b16;--recv-text:#fdf6e3;--danger:#dc322f;--success:#859900;--warn:#b58900;--shadow:0 1px 3px #657b831f, 0 8px 24px #657b831a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@font-face{font-family:Germania One;src:url(/fonts/GermaniaOne-Regular.ttf)format("truetype");font-display:swap}:root{--radius:12px;--radius-sm:8px;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;--sidebar-w:300px;--topbar-h:56px}*{box-sizing:border-box}html,body,#app{height:100%}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}h2,h3,h4{margin:0;font-weight:600}.brand{letter-spacing:.5px;color:var(--accent);align-items:center;gap:8px;font-family:Germania One,system-ui,sans-serif;font-size:24px;line-height:1;display:inline-flex}.btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-size:14px;transition:background .15s,border-color .15s,opacity .15s,color .15s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-block{width:100%}.btn-sm{padding:5px 10px;font-size:13px}.btn-icon{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:14px;transition:background .15s,color .15s}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon.danger:hover{color:var(--danger)}.field{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--surface);color:var(--text);outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field::placeholder{color:#9aa1ab}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);font-size:13px}.success{color:var(--success);font-size:13px}.btn-link{cursor:pointer;color:var(--accent-strong);text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:var(--accent)}.warn-box{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, var(--surface));border-radius:var(--radius,8px);padding:10px 12px;line-height:1.5}.stack>*+*{margin-top:12px}.row{align-items:center;gap:8px;display:flex}.auth{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);padding:28px 26px}.card .brand{margin-bottom:14px;font-size:30px}.card h2{margin-bottom:4px;font-size:19px}.app-shell{flex-direction:column;height:100%;display:flex}.conn-banner{text-align:center;background:color-mix(in srgb, var(--warn) 18%, var(--surface));color:var(--warn);border-bottom:1px solid color-mix(in srgb, var(--warn) 35%, var(--surface));flex:none;padding:5px 12px;font-size:12px}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.topbar-right{align-items:center;gap:14px;display:flex}.lock-badge{color:var(--muted);font-size:12px}.workspace{flex:1;min-height:0;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;display:flex;overflow-y:auto}.panel{border-bottom:1px solid var(--border);padding:12px 14px}.panel-title{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.req{justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.req .u{color:var(--muted)}.contact{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;transition:background .12s;display:flex}.contact:hover{background:var(--surface-2)}.contact.active{background:var(--accent-soft)}.avatar{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:relative}.status-dot{background:var(--success);border:2px solid var(--surface);box-sizing:content-box;border-radius:50%;width:11px;height:11px;position:absolute;bottom:0;right:0}.status-inline{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.status-inline .status-dot{border-color:#0000;position:static}.avatar-lg{width:64px;height:64px;margin:0 auto;font-size:26px}.contact-main{flex:1;min-width:0}.contact-name{align-items:center;gap:6px;font-weight:600;display:flex}.contact-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.contact-actions{opacity:.5;gap:2px;transition:opacity .12s;display:flex}.contact:hover .contact-actions{opacity:1}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:1px 7px;font-size:11px;font-weight:700}.badge-missed{background:var(--danger);min-width:0}.chat-pane{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.chat-header{min-height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.chat-title{font-weight:600}.mobile-back{font-size:26px;line-height:1;display:none}.chat-empty{color:var(--muted);text-align:center;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.fingerprint{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex:none;margin:12px 16px 0;padding:12px;font-size:13px}.fingerprint code{font-family:var(--mono);word-break:break-all;color:var(--text);margin-top:6px;font-size:12px;display:block}.key-warning{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 32%, var(--surface));border-radius:var(--radius-sm);flex-direction:column;flex:none;gap:10px;margin:12px 16px 0;padding:12px;font-size:13px;line-height:1.5;display:flex}.key-warning code{font-family:var(--mono);word-break:break-all;color:var(--danger);font-size:12px;display:block}.messages{flex-direction:column;flex:1;gap:6px;padding:16px;display:flex;overflow-y:auto}.sysline{text-align:center;color:var(--muted);padding:6px;font-size:12px}.msg{flex-direction:column;max-width:72%;display:flex}.msg.me{align-self:flex-end;align-items:flex-end}.msg.them{align-self:flex-start;align-items:flex-start}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;padding:8px 12px;font-size:14px;line-height:1.4}.msg.me .bubble{background:var(--sent-bg);color:var(--sent-text);border-bottom-right-radius:4px}.msg.them .bubble{background:var(--recv-bg);color:var(--recv-text);border-bottom-left-radius:4px}.msg-meta{color:var(--muted);align-items:center;gap:4px;margin:2px 4px 0;font-size:11px;display:flex}.tick{letter-spacing:-2px}.tick.read{color:var(--accent)}.bubble.deleted{opacity:.85;font-style:italic}.bubble.editing{outline:2px solid var(--accent);outline-offset:1px}.msg-action{cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1;transition:opacity .12s}.msg:hover .msg-action{opacity:.7}.msg-action:hover{opacity:1}.composer{border-top:1px solid var(--border);background:var(--surface);flex:none;gap:8px;padding:12px 16px;display:flex}.composer .field{flex:1}.composer-error{background:var(--surface);padding:0 16px 10px}.composer-editing{background:var(--surface);border-top:1px solid var(--border);color:var(--muted);padding:6px 16px}.typing-line{padding:4px 16px 0;font-style:italic}.modal-overlay{z-index:100;background:#10182873;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;max-height:80vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-header h3{font-size:16px}.settings-section h4{margin-bottom:4px;font-size:14px}.modal-body{padding:16px 18px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);flex:none;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.messages::-webkit-scrollbar{width:12px}.sidebar::-webkit-scrollbar{width:12px}.modal-body::-webkit-scrollbar{width:12px}.messages::-webkit-scrollbar-thumb{background:#cdd2da padding-box content-box;border:3px solid #0000;border-radius:8px}.sidebar::-webkit-scrollbar-thumb{background:#cdd2da padding-box content-box;border:3px solid #0000;border-radius:8px}.modal-body::-webkit-scrollbar-thumb{background:#cdd2da padding-box content-box;border:3px solid #0000;border-radius:8px}@media (width<=768px){.sidebar{border-right:none;width:100%}.chat-pane{width:100%}.workspace:not(.has-selection) .chat-pane,.workspace.has-selection .sidebar,.chat-empty{display:none}.mobile-back{align-items:center;margin-right:2px;display:inline-flex}.lock-badge{display:none}.topbar{padding:0 12px}.topbar-right{gap:8px}.brand{font-size:18px}.contact-actions{opacity:1}.msg-action{opacity:.85}.btn-icon{padding:6px}.msg{max-width:85%}.messages{padding:12px}}
