@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Sora:wght@500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--font-display:"Sora","IBM Plex Sans",sans-serif;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f2ee;--text:#1e242d;--muted:#6a7280;--card:#fff;--card-2:#f0ede8;--accent:#6c7b8b;--accent-strong:#2e3a47;--accent-contrast:#f7f5f1;--accent-soft:#2e3a472e;--border:#d9d4cc;--shadow:0 18px 40px #1d232d14;--shadow-strong:0 12px 28px #1d232d2e;--danger:#c96c6c;--danger-contrast:#fff;--danger-bg:#c96c6c1f;--danger-border:#c96c6c4d;--danger-text:#9c4f4f;--switch-thumb:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--text:#e7ecf2;--muted:#9aa3af;--card:#151922;--card-2:#1b202a;--accent:#a4b0c0;--accent-strong:#e1e7ee;--accent-contrast:#0f1115;--accent-soft:#a4b0c040;--border:#2a323d;--shadow:0 18px 40px #06080c8c;--shadow-strong:0 12px 28px #05080c73;--danger:#d07a7a;--danger-contrast:#fff;--danger-bg:#d07a7a1f;--danger-border:#d07a7a59;--danger-text:#f1b1b1;--switch-thumb:#151922}*{box-sizing:border-box}body{background-color:var(--bg);min-height:100vh;color:var(--text);margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-weight:600}p{margin:0}code{font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:.95em}#root{width:100%;max-width:1200px;min-height:100vh;margin:0 auto}.app-shell{flex-direction:column;gap:24px;min-height:100vh;padding:32px 24px 64px;display:flex}.app-shell.onboarding{padding:24px}.app-shell.onboarding .app-header{display:none}.app-shell.onboarding .app-main{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 4px 18px;display:flex}.app-brand{font-family:var(--font-display);letter-spacing:.32em;text-transform:uppercase;font-size:.95rem}.app-main{flex-direction:column;flex:1;gap:24px;width:100%;display:flex}.app-banner{border-radius:var(--radius-md);padding:12px 16px;font-weight:500}.app-banner.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.screen{animation:.6s ease-out fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.panel{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);padding:28px}.panel-header{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-title h2{font-size:1.4rem}.muted{color:var(--muted)}.btn{cursor:pointer;border:1px solid #0000;border-radius:14px;padding:14px 20px;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s,color .2s}.btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.btn.primary{background:var(--accent-strong);color:var(--accent-contrast);box-shadow:var(--shadow-strong)}.btn.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.ghost{border-color:var(--border);color:var(--text);background:0 0}.btn.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn.danger{background:var(--danger);color:var(--danger-contrast)}.form-stack{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:8px;font-weight:600;display:flex}.field input,.field textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-2);padding:12px 14px}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field-status{color:var(--muted);font-size:.8rem;font-weight:500}.form-actions{flex-wrap:wrap;gap:12px;display:flex}.form-footer{align-items:center;margin-top:8px;display:flex}.text-action{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.text-action:hover{color:var(--text)}.text-action:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.form-error{color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:10px 12px;font-weight:600}.welcome-screen{flex:1;justify-content:center;align-items:center;display:flex}.welcome-card{text-align:center;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);padding:40px 32px}.welcome-eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);font-size:.7rem}.welcome-title{letter-spacing:.38em;margin:8px 0 12px;font-size:clamp(2.2rem,6vw,3rem)}.welcome-subtitle{color:var(--muted);flex-direction:column;gap:6px;margin-bottom:28px;display:flex}.welcome-actions{flex-direction:column;align-items:stretch;gap:12px;display:flex}.welcome-actions .btn{width:100%}.helper-text span{display:block}.recovery-key{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-2);-webkit-user-select:text;user-select:text;word-break:break-all;padding:12px 14px;display:block}.pin-input{text-align:center;letter-spacing:.4em;font-size:1.05rem}.form-screen .panel{width:100%;max-width:520px;margin:0 auto}.onboarding .form-screen .panel{max-width:420px}.onboarding .form-actions{flex-direction:column;align-items:stretch}.onboarding .form-actions .btn{width:100%}.home-grid{grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr);align-items:start;gap:24px;display:grid}.contacts-panel section>h2{display:none}.contacts-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.contact-item{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card-2);padding:12px;transition:border-color .2s,background-color .2s,box-shadow .2s;position:relative}.contact-item:hover{background:var(--card);border-color:var(--accent)}.contact-item.is-active{background:var(--card);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.contact-item.is-active:before{content:"";background:var(--accent);border-radius:999px;width:2px;position:absolute;top:10px;bottom:10px;left:8px}.contact-button{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;flex-direction:column;gap:4px;width:100%;padding:0;font-weight:600;display:flex}.contact-name{padding-left:8px}.contact-preview{color:var(--muted);padding-left:8px;font-size:.9rem}.contacts-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:220px;padding:20px 8px;display:flex}.empty-actions{flex-direction:column;gap:10px;width:min(320px,100%);display:flex}.empty-actions .btn{width:100%}.chat-panel{flex-direction:column;gap:16px;display:flex}.message-scroll{flex:1;max-height:320px;padding-right:4px;overflow-y:auto}.message-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.message-item{border-radius:var(--radius-md);background:var(--card-2);border:1px solid var(--border);padding:12px 14px}.message-meta{color:var(--muted);margin-bottom:6px;font-size:.8rem}.message-form{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.message-form .field{margin:0}.message-input{resize:none;min-height:56px;line-height:1.45}.message-form .btn{min-width:96px}.conversation-empty{padding:4px 0 0;font-size:.9rem}.empty-state{text-align:center;color:var(--muted);padding:24px 12px}.settings-block{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.settings-label{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:600}.settings-id{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-row{font-weight:600}.settings-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-2);flex-direction:column;display:flex;overflow:hidden}.settings-item{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;padding:14px 16px;font-weight:600}.settings-item+.settings-item{border-top:1px solid var(--border)}.settings-item:hover{background:var(--card)}.radio-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-2);flex-direction:column;gap:12px;padding:12px 14px;display:flex}.radio-group legend{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);padding:0 4px;font-size:.7rem}.radio-option{align-items:center;gap:10px;font-weight:600;display:flex}.radio-option input{accent-color:var(--accent)}.invites-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.invite-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-2);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.invite-status{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.7rem}@media (max-width:900px){.app-shell{padding:24px 16px 48px}.app-shell.onboarding{padding:20px 16px 32px}.app-header{flex-direction:column;align-items:flex-start;gap:12px}.home-grid,.message-form{grid-template-columns:1fr}.message-form .btn{width:100%}}
