:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--surface:#f7f6fa;--surface-hover:#efedf5;--border:#e5e4e7;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--danger:#d1435b;--danger-bg:#d1435b1a;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--surface:#1d1e26;--surface-hover:#262733;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--danger:#f2879a;--danger-bg:#f2879a1f;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}h1,h2,h3{font-family:var(--sans);color:var(--text-h);margin:0;font-weight:600}p{margin:0}a{color:var(--accent)}.input{font:inherit;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);border-radius:8px;padding:10px 14px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 16px;font-weight:600;transition:opacity .15s,background .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-ghost{border:1px solid var(--border);color:var(--text-h);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.form-error{color:var(--danger);font-size:14px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.app-header h1{font-size:20px}.app-header-user{align-items:center;gap:12px;font-size:14px;display:flex}.app-body{flex:1;min-height:0;display:flex}.app-footer{text-align:center;color:var(--text);border-top:1px solid var(--border);padding:12px 24px;font-size:13px}.sidebar{border-right:1px solid var(--border);flex-shrink:0;width:260px;padding:16px;overflow-y:auto}.sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text);margin-bottom:12px;font-size:13px}.sidebar-empty{color:var(--text);font-size:14px}.user-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.user-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.user-item:hover{background:var(--surface-hover)}.user-item.active{background:var(--accent-bg)}.user-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.user-name{color:var(--text-h);font-size:14px}.chat-panel{flex-direction:column;flex:1;min-width:0;display:flex}.chat-empty{color:var(--text);flex:1;justify-content:center;align-items:center;display:flex}.chat-header{border-bottom:1px solid var(--border);padding:16px 24px}.chat-header h2{font-size:16px}.status-banner{background:var(--surface);border-radius:8px;margin:24px;padding:12px 16px;font-size:14px}.status-banner.error{background:var(--danger-bg);color:var(--danger)}.method-picker{background:var(--surface);border-radius:12px;margin:24px;padding:20px}.method-picker p{margin-bottom:12px;font-size:14px}.method-picker-options{flex-wrap:wrap;gap:8px;display:flex}.message-list{flex-direction:column;flex:1;padding:16px 24px;display:flex;overflow-y:auto}.message-list-empty{color:var(--text);text-align:center;margin-top:24px;font-size:14px}.message-row{margin:6px 0;display:flex}.sent{justify-content:flex-end}.received{justify-content:flex-start}.message-bubble{border-radius:14px;max-width:60%;padding:10px 14px}.message-bubble .message-sender{opacity:.7;margin-bottom:2px;font-size:11px;font-weight:600;display:block}.message-bubble p{overflow-wrap:break-word;font-size:14px}.sent .message-bubble{background:var(--accent);color:#fff}.sent .message-bubble .message-sender{color:#ffffffd9}.received .message-bubble{background:var(--surface);color:var(--text-h)}.message-input-bar{border-top:1px solid var(--border);align-items:center;gap:10px;padding:16px 24px;display:flex}.message-input-bar .input{border-radius:999px;flex:1}.message-input-meta{color:var(--text);padding:0 24px 12px;font-size:12px}.message-input-meta.over-limit{color:var(--danger)}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow);text-align:center;border-radius:16px;padding:32px}.auth-card h1{margin-bottom:4px;font-size:24px}.auth-subtitle{color:var(--text);margin-bottom:24px;font-size:14px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-switch{color:var(--text);margin-top:20px;font-size:14px}
