:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--fg:#1b1f24;--accent:#3b5bdb;--panel:#fff;--line:#e3e6eb;--muted:#6b7380;--hover:#eef1f5;--mine:#dfe6ff;--theirs:#fff;--chat-bg:#eceff3;--online:#2f9e44}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171c;--fg:#e6e9ee;--accent:#8ea2ff;--panel:#1b1f26;--line:#2a303a;--muted:#8d95a3;--hover:#232833;--mine:#2c3766;--theirs:#232833;--chat-bg:#11141a;--online:#51cf66}}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,sans-serif}.notice{place-items:center;min-height:100vh;margin:0;display:grid}h1{color:var(--accent)}.link{box-sizing:border-box;text-align:center;align-content:center;justify-items:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.link-qr{background:#fff;border-radius:12px;width:264px;height:264px}.link-qr img{border-radius:12px;display:block}.link-steps{text-align:left;margin:0;padding-left:1.25rem;line-height:1.8}.link-note{opacity:.7;margin:0;font-size:.85rem}.link-error button{font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:0;border-radius:8px;padding:.5rem 1rem}.chat{grid-template-columns:minmax(280px,340px) 1fr;height:100vh;display:grid;overflow:hidden}.convs{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.convs-head{border-bottom:1px solid var(--line);padding:.75rem 1rem}.convs-head h1{margin:0;font-size:1.25rem}.convs-empty{color:var(--muted);padding:1rem}.convs-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.conv{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.conv:hover{background:var(--hover)}.conv-active{background:var(--hover);box-shadow:inset 3px 0 0 var(--accent)}.avatar{background:var(--accent);width:2.6rem;height:2.6rem;color:var(--panel);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:600;display:grid;position:relative}.avatar-dot{border:2px solid var(--panel);background:var(--online);border-radius:50%;width:.7rem;height:.7rem;position:absolute;bottom:0;right:0}.conv-main{flex:1;gap:.15rem;min-width:0;display:grid}.conv-top,.conv-bottom{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.conv-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.conv-time{color:var(--muted);flex:none;font-size:.75rem}.conv-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.conv-typing{color:var(--accent)}.badge{background:var(--accent);min-width:1.25rem;color:var(--panel);text-align:center;border-radius:999px;flex:none;padding:0 .4rem;font-size:.75rem;font-weight:600;line-height:1.25rem}.chat-pane{background:var(--chat-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.chat-empty,.chat-plain{color:var(--muted);text-align:center;flex:1;place-items:center;margin:0;padding:2rem;display:grid}.chat-head{border-bottom:1px solid var(--line);background:var(--panel);padding:.75rem 1.25rem}.chat-head h2{margin:0;font-size:1.05rem}.chat-sub{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.chat-items{flex-direction:column;flex:1;gap:.35rem;margin:0;padding:1rem 1.25rem;list-style:none;display:flex;overflow-y:auto}.line{background:var(--panel);max-width:80%;color:var(--muted);text-align:center;border-radius:8px;align-self:center;padding:.3rem .75rem;font-size:.8rem}.msg{flex-direction:column;max-width:70%;display:flex}.msg-mine{align-self:flex-end;align-items:flex-end}.msg-theirs{align-self:flex-start;align-items:flex-start}.bubble{background:var(--theirs);overflow-wrap:anywhere;border-radius:12px;gap:.2rem;padding:.45rem .7rem;display:grid}.msg-mine .bubble{background:var(--mine)}.bubble-failed{font-style:italic}.msg-sender{color:var(--accent);font-size:.8rem;font-weight:600}.msg-quote{border-left:3px solid var(--accent);background:var(--hover);color:var(--muted);border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.msg-media{color:var(--muted);font-size:.85rem}.msg-text{white-space:pre-wrap}.msg-image,.msg-video{border-radius:6px;width:auto;max-width:320px;height:auto;max-height:320px;display:block}.msg-audio{max-width:320px;display:block}.msg-file{border:1px solid var(--line);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;display:inline-block}.msg-muted{color:var(--muted)}.msg-meta{color:var(--muted);justify-content:flex-end;gap:.35rem;font-size:.7rem;display:flex}.tick-read{color:var(--accent)}.reactions{background:var(--panel);border-radius:999px;margin-top:-.2rem;padding:0 .4rem;font-size:.85rem}.other-tab{align-content:center;justify-items:center;gap:1rem;min-height:100vh;display:grid}.other-tab p{margin:0}.other-tab button{font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:0;border-radius:8px;padding:.5rem 1rem}.msg-actions{opacity:0;gap:2px;margin-top:2px;display:flex}.msg:hover .msg-actions,.msg:focus-within .msg-actions{opacity:1}.msg-actions button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px}.msg-actions button:hover,.msg-actions .react-on{background:var(--hover)}.msg-error{color:#c92a2a;align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.msg-error button{font-size:12px}.composer{border-top:1px solid var(--line);background:var(--panel);padding:8px 12px}.composer-context{color:var(--muted);border-left:3px solid var(--accent);justify-content:space-between;margin-bottom:6px;padding-left:8px;font-size:13px;display:flex}.composer-context button{cursor:pointer;background:0 0;border:none}.composer-error{color:#c92a2a;margin:0 0 6px;font-size:13px}.composer-status{color:var(--muted);margin:0 0 6px;font-size:13px}.composer-row{gap:8px;display:flex}.composer-attach{border:1px solid var(--line);color:var(--accent);cursor:pointer;border-radius:8px;align-items:center;padding:0 12px;display:flex;position:relative}.composer-attach input{opacity:0;cursor:pointer;position:absolute;inset:0}.composer-row textarea{resize:none;font:inherit;border:1px solid var(--line);border-radius:8px;flex:1;padding:8px 10px}.composer-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:0 16px}.composer-row button:disabled{opacity:.5;cursor:default}
